<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.9.2 at 19 Sep 2022 
 | Rendered using Apache Maven Fluido Skin 1.6
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20220919" />
    <meta http-equiv="Content-Language" content="en" />
    <title>jUDDI Even More Examples and Samples &#x2013; FindBugs Bug Detector Report</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
      <script type="text/javascript" src="./js/apache-maven-fluido-1.6.min.js"></script>
      </head>
    <body class="topBarEnabled">
                      <a href="https://github.com/apache/juddi">
      <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
        src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"
        alt="Fork me on GitHub">
    </a>
      <div id="topbar" class="navbar navbar-fixed-top ">
      <div class="navbar-inner">
        <div class="container-fluid">
        <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </a>
            <ul class="nav">
        <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Parent Project <b class="caret"></b></a>
        <ul class="dropdown-menu">
            <li><a href="../index.html" title="jUDDI Examples">jUDDI Examples</a></li>
        </ul>
      </li>
        <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Documentation <b class="caret"></b></a>
        <ul class="dropdown-menu">
            <li class="dropdown-submenu">
<a href="project-info.html" title="Project Information">Project Information</a>
              <ul class="dropdown-menu">
                  <li><a href="integration.html" title="CI Management">CI Management</a></li>
                  <li><a href="dependencies.html" title="Dependencies">Dependencies</a></li>
                  <li><a href="dependency-info.html" title="Dependency Information">Dependency Information</a></li>
                  <li><a href="dependency-management.html" title="Dependency Management">Dependency Management</a></li>
                  <li><a href="distribution-management.html" title="Distribution Management">Distribution Management</a></li>
                  <li><a href="index.html" title="About">About</a></li>
                  <li><a href="issue-tracking.html" title="Issue Management">Issue Management</a></li>
                  <li><a href="license.html" title="Licenses">Licenses</a></li>
                  <li><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li>
                  <li><a href="plugin-management.html" title="Plugin Management">Plugin Management</a></li>
                  <li><a href="plugins.html" title="Plugins">Plugins</a></li>
                  <li><a href="team-list.html" title="Team">Team</a></li>
                  <li><a href="source-repository.html" title="Source Code Management">Source Code Management</a></li>
                  <li><a href="project-summary.html" title="Summary">Summary</a></li>
              </ul>
            </li>
            <li class="dropdown-submenu">
<a href="project-reports.html" title="Project Reports">Project Reports</a>
              <ul class="dropdown-menu">
                  <li><a href="apidocs/index.html" title="Javadoc">Javadoc</a></li>
                  <li><a href="jdepend-report.html" title="JDepend">JDepend</a></li>
                  <li><a href="xref/index.html" title="Source Xref">Source Xref</a></li>
                  <li><a href="findbugs.html" title="FindBugs">FindBugs</a></li>
                  <li><a href="jira-report.html" title="JIRA Report">JIRA Report</a></li>
              </ul>
            </li>
        </ul>
      </li>
              </ul>
            </div>
        </div>
      </div>
    </div>
    <div class="container-fluid">
      <div id="banner">
        <div class="pull-left"><a href="http://juddi.apache.org" id="bannerLeft"><img src="../../images/logo.png"  alt="Apache jUDDI"/></a></div>
        <div class="pull-right"><div id="bannerRight"><img src="../../images/apache_feather.gif" /></div>
</div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        <li class=""><a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li>
      <li class=""><a href="../index.html" title="jUDDI Examples">jUDDI Examples</a><span class="divider">/</span></li>
      <li class=""><a href="index.html" title="jUDDI Even More Examples and Samples">jUDDI Even More Examples and Samples</a><span class="divider">/</span></li>
    <li class="active ">FindBugs Bug Detector Report</li>
        <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 19 Sep 2022</li>
          <li id="projectVersion" class="pull-right">Version: 3.3.11-SNAPSHOT</li>
        </ul>
      </div>
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
<ul class="nav nav-list">
          <li class="nav-header">Parent Project</li>
    <li><a href="../index.html" title="jUDDI Examples"><span class="none"></span>jUDDI Examples</a>  </li>
          <li class="nav-header">Project Documentation</li>
    <li><a href="project-info.html" title="Project Information"><span class="icon-chevron-right"></span>Project Information</a>  </li>
    <li><a href="project-reports.html" title="Project Reports"><span class="icon-chevron-down"></span>Project Reports</a>
      <ul class="nav nav-list">
    <li><a href="apidocs/index.html" title="Javadoc"><span class="none"></span>Javadoc</a>  </li>
    <li><a href="jdepend-report.html" title="JDepend"><span class="none"></span>JDepend</a>  </li>
    <li><a href="xref/index.html" title="Source Xref"><span class="none"></span>Source Xref</a>  </li>
    <li class="active"><a href="#"><span class="none"></span>FindBugs</a>
  </li>
    <li><a href="jira-report.html" title="JIRA Report"><span class="none"></span>JIRA Report</a>  </li>
      </ul>
  </li>
  </ul>
<form id="search-form" action="https://www.google.com/search" method="get" >
      <input value="$sitesearchValue" name="sitesearch" type="hidden"/>
  <input class="search-query" name="q" id="query" type="text" />
</form>
<script type="text/javascript">asyncJs( 'https://cse.google.com/brand?form=search-form' )</script>
          <hr />
          <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
  <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
              </div>
          </div>
        </div>
        <div id="bodyColumn"  class="span10" >
<section>
<h2><a name="FindBugs_Bug_Detector_Report"></a>FindBugs Bug Detector Report</h2>
<p>The following document contains the results of <a class="externalLink" href="http://findbugs.sourceforge.net">FindBugs</a></p>
<p>FindBugs Version is <i>3.0.1</i></p>
<p>Threshold is <i>medium</i></p>
<p>Effort is <i>min</i></p></section><section>
<h2><a name="Summary"></a>Summary</h2>
<table border="0" class="table table-striped">
<tr class="a">
<th>Classes</th>
<th>Bugs</th>
<th>Errors</th>
<th>Missing Classes</th></tr>
<tr class="b">
<td>34</td>
<td>13</td>
<td>0</td>
<td>0</td></tr></table></section><section>
<h2><a name="Files"></a>Files</h2>
<table border="0" class="table table-striped">
<tr class="a">
<th>Class</th>
<th>Bugs</th></tr>
<tr class="b">
<td><a href="#org.apache.juddi.samples.JuddiAdminService">org.apache.juddi.samples.JuddiAdminService</a></td>
<td>7</td></tr>
<tr class="a">
<td><a href="#org.apache.juddi.samples.UddiCustodyTransfer">org.apache.juddi.samples.UddiCustodyTransfer</a></td>
<td>2</td></tr>
<tr class="b">
<td><a href="#org.apache.juddi.samples.UddiDigitalSignatureBusiness">org.apache.juddi.samples.UddiDigitalSignatureBusiness</a></td>
<td>1</td></tr>
<tr class="a">
<td><a href="#org.apache.juddi.samples.UddiDigitalSignatureFile">org.apache.juddi.samples.UddiDigitalSignatureFile</a></td>
<td>1</td></tr>
<tr class="b">
<td><a href="#org.apache.juddi.samples.UddiSubscribe">org.apache.juddi.samples.UddiSubscribe</a></td>
<td>1</td></tr>
<tr class="a">
<td><a href="#org.apache.juddi.samples.UddiSubscribeAssertionStatus">org.apache.juddi.samples.UddiSubscribeAssertionStatus</a></td>
<td>1</td></tr></table></section><a name="org.apache.juddi.samples.JuddiAdminService"></a><section>
<h3><a name="org.apache.juddi.samples.JuddiAdminService"></a>org.apache.juddi.samples.JuddiAdminService</h3>
<table border="0" class="table table-striped">
<tr class="b">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="a">
<td>Immediate dereference of the result of readLine() in org.apache.juddi.samples.JuddiAdminService.getContactInfo()</td>
<td>STYLE</td>
<td><a class="externalLink" href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_IMMEDIATE_DEREFERENCE_OF_READLINE">NP_IMMEDIATE_DEREFERENCE_OF_READLINE</a></td>
<td><a href="./xref/org/apache/juddi/samples/JuddiAdminService.html#L397">397</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>Immediate dereference of the result of readLine() in org.apache.juddi.samples.JuddiAdminService.getDescription()</td>
<td>STYLE</td>
<td><a class="externalLink" href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_IMMEDIATE_DEREFERENCE_OF_READLINE">NP_IMMEDIATE_DEREFERENCE_OF_READLINE</a></td>
<td><a href="./xref/org/apache/juddi/samples/JuddiAdminService.html#L469">469</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Immediate dereference of the result of readLine() in org.apache.juddi.samples.JuddiAdminService.getEmail()</td>
<td>STYLE</td>
<td><a class="externalLink" href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_IMMEDIATE_DEREFERENCE_OF_READLINE">NP_IMMEDIATE_DEREFERENCE_OF_READLINE</a></td>
<td><a href="./xref/org/apache/juddi/samples/JuddiAdminService.html#L448">448</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>Immediate dereference of the result of readLine() in org.apache.juddi.samples.JuddiAdminService.getPersonName()</td>
<td>STYLE</td>
<td><a class="externalLink" href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_IMMEDIATE_DEREFERENCE_OF_READLINE">NP_IMMEDIATE_DEREFERENCE_OF_READLINE</a></td>
<td><a href="./xref/org/apache/juddi/samples/JuddiAdminService.html#L434">434</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Immediate dereference of the result of readLine() in org.apache.juddi.samples.JuddiAdminService.getPhoneNumber()</td>
<td>STYLE</td>
<td><a class="externalLink" href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_IMMEDIATE_DEREFERENCE_OF_READLINE">NP_IMMEDIATE_DEREFERENCE_OF_READLINE</a></td>
<td><a href="./xref/org/apache/juddi/samples/JuddiAdminService.html#L459">459</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>Immediate dereference of the result of readLine() in org.apache.juddi.samples.JuddiAdminService.menu_AddReplicationNode(ReplicationConfiguration, JUDDIApiPortType, String)</td>
<td>STYLE</td>
<td><a class="externalLink" href="http://findbugs.sourceforge.net/bugDescriptions.html#NP_IMMEDIATE_DEREFERENCE_OF_READLINE">NP_IMMEDIATE_DEREFERENCE_OF_READLINE</a></td>
<td><a href="./xref/org/apache/juddi/samples/JuddiAdminService.html#L368">368</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Exception is caught when Exception is not thrown in org.apache.juddi.samples.JuddiAdminService.printStatusSingleNode(Transport, String)</td>
<td>STYLE</td>
<td><a class="externalLink" href="http://findbugs.sourceforge.net/bugDescriptions.html#REC_CATCH_EXCEPTION">REC_CATCH_EXCEPTION</a></td>
<td><a href="./xref/org/apache/juddi/samples/JuddiAdminService.html#L913">913</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.juddi.samples.UddiCustodyTransfer"></a><section>
<h3><a name="org.apache.juddi.samples.UddiCustodyTransfer"></a>org.apache.juddi.samples.UddiCustodyTransfer</h3>
<table border="0" class="table table-striped">
<tr class="b">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="a">
<td>Dead store to xcal in org.apache.juddi.samples.UddiCustodyTransfer.TransferBusiness(String, String, String, String, String)</td>
<td>STYLE</td>
<td><a class="externalLink" href="http://findbugs.sourceforge.net/bugDescriptions.html#DLS_DEAD_LOCAL_STORE">DLS_DEAD_LOCAL_STORE</a></td>
<td><a href="./xref/org/apache/juddi/samples/UddiCustodyTransfer.html#L100">100</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>The method name org.apache.juddi.samples.UddiCustodyTransfer.TransferBusiness(String, String, String, String, String) doesn't start with a lower case letter</td>
<td>BAD_PRACTICE</td>
<td><a class="externalLink" href="http://findbugs.sourceforge.net/bugDescriptions.html#NM_METHOD_NAMING_CONVENTION">NM_METHOD_NAMING_CONVENTION</a></td>
<td><a href="./xref/org/apache/juddi/samples/UddiCustodyTransfer.html#L96">96-158</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.juddi.samples.UddiDigitalSignatureBusiness"></a><section>
<h3><a name="org.apache.juddi.samples.UddiDigitalSignatureBusiness"></a>org.apache.juddi.samples.UddiDigitalSignatureBusiness</h3>
<table border="0" class="table table-striped">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>Exception is caught when Exception is not thrown in org.apache.juddi.samples.UddiDigitalSignatureBusiness.fire(String, String)</td>
<td>STYLE</td>
<td><a class="externalLink" href="http://findbugs.sourceforge.net/bugDescriptions.html#REC_CATCH_EXCEPTION">REC_CATCH_EXCEPTION</a></td>
<td><a href="./xref/org/apache/juddi/samples/UddiDigitalSignatureBusiness.html#L164">164</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.juddi.samples.UddiDigitalSignatureFile"></a><section>
<h3><a name="org.apache.juddi.samples.UddiDigitalSignatureFile"></a>org.apache.juddi.samples.UddiDigitalSignatureFile</h3>
<table border="0" class="table table-striped">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>Exception is caught when Exception is not thrown in org.apache.juddi.samples.UddiDigitalSignatureFile.fire(String, String, UddiDigitalSignatureFile$UddiType)</td>
<td>STYLE</td>
<td><a class="externalLink" href="http://findbugs.sourceforge.net/bugDescriptions.html#REC_CATCH_EXCEPTION">REC_CATCH_EXCEPTION</a></td>
<td><a href="./xref/org/apache/juddi/samples/UddiDigitalSignatureFile.html#L140">140</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.juddi.samples.UddiSubscribe"></a><section>
<h3><a name="org.apache.juddi.samples.UddiSubscribe"></a>org.apache.juddi.samples.UddiSubscribe</h3>
<table border="0" class="table table-striped">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>Unread field: org.apache.juddi.samples.UddiSubscribe.callbackRecieved</td>
<td>PERFORMANCE</td>
<td><a class="externalLink" href="http://findbugs.sourceforge.net/bugDescriptions.html#URF_UNREAD_FIELD">URF_UNREAD_FIELD</a></td>
<td><a href="./xref/org/apache/juddi/samples/UddiSubscribe.html#L40">40</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.juddi.samples.UddiSubscribeAssertionStatus"></a><section>
<h3><a name="org.apache.juddi.samples.UddiSubscribeAssertionStatus"></a>org.apache.juddi.samples.UddiSubscribeAssertionStatus</h3>
<table border="0" class="table table-striped">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>Unread field: org.apache.juddi.samples.UddiSubscribeAssertionStatus.callbackRecieved</td>
<td>PERFORMANCE</td>
<td><a class="externalLink" href="http://findbugs.sourceforge.net/bugDescriptions.html#URF_UNREAD_FIELD">URF_UNREAD_FIELD</a></td>
<td><a href="./xref/org/apache/juddi/samples/UddiSubscribeAssertionStatus.html#L39">39</a></td>
<td>Medium</td></tr></table></section>
        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &copy;2004&#x2013;2022
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
        </div>
        </div>
    </footer>
    </body>
</html>
