<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<!-- Generated by Apache Maven Doxia at 2018-12-02 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Log4j Audit Catalog JPA Support &#x2013; PMD Results - Log4j Catalog JPA DAO</title>
    <link rel="stylesheet" href="./css/bootstrap.min.css" type="text/css" />
    <link rel="stylesheet" href="./css/site.css" type="text/css" />
    <script type="text/javascript" src="./js/jquery.min.js"></script>
    <script type="text/javascript" src="./js/bootstrap.min.js"></script>
    <script type="text/javascript" src="./js/prettify.min.js"></script>
    <script type="text/javascript" src="./js/site.js"></script>
                    <meta name="Date-Revision-yyyymmdd" content="20181202" />
                <meta http-equiv="Content-Language" content="en" />
        
        </head>
<body class="composite">
<a  href="http://www.apache.org/events/current-event.html">
    <img class=logo-left src="http://www.apache.org/events/current-event-234x60.png"/>
</a>
<img class="logo-right" src="./images/logo.png" alt="Apache log4j logo" />
<a href="https://logging.apache.org/">
    <img class="logo-center" src="./images/ls-logo.jpg" alt="Apache logging services logo" />
</a>
<div class="clear"></div>

<div class="navbar">
    <div class="navbar-inner">
        <div class="container-fluid">
            <a class="brand" href="http://maven.apache.org">Log4j Catalog JPA DAO &trade;</a>
            <ul class="nav">
                        <li>
                        
                
            <a href="https://cwiki.apache.org/confluence/display/LOGGING/Home" class="external" target="_blank" title="Logging Wiki">Logging Wiki</a>
            </li>
                    <li>
                        
                
            <a href="https://wiki.apache.org/logging" class="external" target="_blank" title="Logging Wiki">Logging Wiki</a>
            </li>
                    <li>
                        
                
            <a href="https://www.apache.org/" class="external" target="_blank" title="Apache">Apache</a>
            </li>
                    <li>
                        
                
            <a href="https://logging.apache.org/" class="external" target="_blank" title="Logging Services">Logging Services</a>
            </li>
                    <li>
                        
                
            <a href="https://github.com/apache/logging-log4j-audit" class="external" target="_blank" title="GitHub">GitHub</a>
            </li>
                    <li>
                                    <a href="../../index.html" title="Log4j Audit">Log4j Audit</a>
            </li>
    </ul>
        </div>
    </div>
</div>

<div class="container-fluid">
    <table class="layout-table">
        <tr>
            <td class="sidebar">
                <div class="well sidebar-nav">
                            <ul class="nav nav-list">
                                                        <li class="nav-header"><i class="icon-home"></i>Apache Log4j Audit™</li>
                                                                                    <li class="none">
                                <a href="../../index.html" title="About">About</a>
                </li>
                                                            <li class="none">
                                <a href="../../download.html" title="Download">Download</a>
                </li>
                                                            <li class="none">
                                <a href="../../gettingStarted.html" title="Getting Started">Getting Started</a>
                </li>
                                                            <li class="none">
                                <a href="../../catalog.html" title="Audit Catalog">Audit Catalog</a>
                </li>
                                                            <li class="none">
                                <a href="../../requestContext.html" title="RequestContext">RequestContext</a>
                </li>
                                                            <li class="none">
                                <a href="../../sample.html" title="Sample Project">Sample Project</a>
                </li>
                                                            <li class="none">
                                <a href="../../changelog.html" title="Changelog">Changelog</a>
                </li>
                                                            <li class="none">
                                <a href="../../apidocs/index.html" title="Javadoc">Javadoc</a>
                </li>
                            </ul>
        <ul class="nav nav-list">
                                                        <li class="nav-header"><i class="icon-pencil"></i>For Contributors</li>
                                                                                    <li class="none">
                                <a href="../../build.html" title="Building Log4j Audit from Source">Building Log4j Audit from Source</a>
                </li>
                                                            <li class="none">
                                <a href="../../guidelines.html" title="Guidelines">Guidelines</a>
                </li>
                                                            <li class="none">
                                <a href="../../javastyle.html" title="Style Guide">Style Guide</a>
                </li>
                            </ul>
        <ul class="nav nav-list">
                                                        <li class="nav-header"><i class="icon-cog"></i>Component Reports</li>
                                                                                    <li class="none">
                                <a href="../../log4j-audit/log4j-audit-api/index.html" title="Audit API">Audit API</a>
                </li>
                                                            <li class="none">
                                <a href="../../log4j-audit/log4j-audit-war/index.html" title="Audit Service">Audit Service</a>
                </li>
                                                            <li class="none">
                                <a href="../../log4j-audit/log4j-audit-maven-plugin/index.html" title="Maven Plugin">Maven Plugin</a>
                </li>
                                                            <li class="none">
                                <a href="../../log4j-catalog/log4j-catalog-api/index.html" title="Catalog API">Catalog API</a>
                </li>
                                                            <li class="none">
                                <a href="../../log4j-catalog/log4j-catalog-git/index.html" title="Git Catalog Access">Git Catalog Access</a>
                </li>
                                                            <li class="none">
                                <a href="../../log4j-catalog/log4j-catalog-jpa/index.html" title="JPA Catalog Access">JPA Catalog Access</a>
                </li>
                                                            <li class="none">
                                <a href="../../log4j-catalog/log4j-catalog-war/index.html" title="Catalog Editor">Catalog Editor</a>
                </li>
                            </ul>
        <ul class="nav nav-list">
                                                                    <li class="nav-header">Component Documentation</li>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <li class="collapsed">
                                <a href="project-info.html" title="Component Information">Component Information</a>
                                    </li>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <li class="expanded">
                                <a href="project-reports.html" title="Component Reports">Component Reports</a>
                                        <ul>
                    						                                    <li class="none">
                                <a href="jira-report.html" title="JIRA Report">JIRA Report</a>
                </li>
    											                                    <li class="none">
                                <a href="checkstyle.html" title="Checkstyle">Checkstyle</a>
                </li>
    											                                    <li class="none">
                                <a href="rat-report.html" title="Rat Report">Rat Report</a>
                </li>
    											                                    <li class="none">
                                <a href="findbugs.html" title="FindBugs">FindBugs</a>
                </li>
    											                                    <li class="none">
                                <a href="xref/index.html" title="Source Xref">Source Xref</a>
                </li>
    											                                    <li class="none">
                                <a href="cpd.html" title="CPD">CPD</a>
                </li>
    											                                        <li class="none active">
                                <a href="pmd.html" title="PMD">PMD</a>
                </li>
    					                </ul>
                        </li>
                            </ul>
        <ul class="nav nav-list">
                                                        <li class="nav-header"><i class="icon-info-sign"></i>Project Information</li>
                                                                                    <li class="none">
                                <a href="dependencies.html" title="Dependencies">Dependencies</a>
                </li>
                                                            <li class="none">
                                <a href="dependency-convergence.html" title="Dependency Convergence">Dependency Convergence</a>
                </li>
                                                            <li class="none">
                                <a href="dependency-management.html" title="Dependency Management">Dependency Management</a>
                </li>
                                                            <li class="none">
                                <a href="team-list.html" title="Project Team">Project Team</a>
                </li>
                                                            <li class="none">
                                <a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
                </li>
                                                            <li class="none">
                                <a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
                </li>
                                                            <li class="none">
                                <a href="license.html" title="Project License">Project License</a>
                </li>
                                                            <li class="none">
                                <a href="source-repository.html" title="Source Repository">Source Repository</a>
                </li>
                                                            <li class="none">
                                <a href="project-summary.html" title="Project Summary">Project Summary</a>
                </li>
                            </ul>
        <ul class="nav nav-list">
                                                        <li class="nav-header"><i class="icon-cog"></i>Project Reports</li>
                                                                                    <li class="none">
                                <a href="changes-report.html" title="Changes Report">Changes Report</a>
                </li>
                                                            <li class="none">
                                <a href="jira-report.html" title="JIRA Report">JIRA Report</a>
                </li>
                                                            <li class="none">
                                <a href="rat-report.html" title="RAT Report">RAT Report</a>
                </li>
                            </ul>
                    </div>
                <div id="poweredBy">
                                                <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
            <img class="poweredBy" alt="Built by Maven" src="./images/maven-feather.png" />
        </a>
                            </div>
            </td>
            <td class="content">
                <div class="section">
<h2><a name="PMD_Results"></a>PMD Results</h2>
<p>The following document contains the results of <a class="externalLink" href="http://pmd.sourceforge.net/">PMD</a> 5.6.1.</p></div>
<div class="section">
<h2><a name="Files"></a>Files</h2>
<div class="section">
<h3><a name="orgapachelogginglog4jcatalogjpaconfigHibernateConfig.java"></a>org/apache/logging/log4j/catalog/jpa/config/HibernateConfig.java</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Violation</th>
<th>Line</th></tr>
<tr class="b">
<td>Avoid unused imports such as 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder'</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/config/HibernateConfig.html#L23">23</a></td></tr>
<tr class="a">
<td>Avoid unused imports such as 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType'</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/config/HibernateConfig.html#L24">24</a></td></tr>
<tr class="b">
<td>Avoid unused imports such as 'javax.sql.DataSource'</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/config/HibernateConfig.html#L33">33</a></td></tr></table></div>
<div class="section">
<h3><a name="orgapachelogginglog4jcatalogjpaconverterCategoryModelConverter.java"></a>org/apache/logging/log4j/catalog/jpa/converter/CategoryModelConverter.java</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Violation</th>
<th>Line</th></tr>
<tr class="b">
<td>Avoid unused private fields such as 'eventService'.</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/converter/CategoryModelConverter.html#L33">33</a></td></tr></table></div>
<div class="section">
<h3><a name="orgapachelogginglog4jcatalogjpaconverterProductModelConverter.java"></a>org/apache/logging/log4j/catalog/jpa/converter/ProductModelConverter.java</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Violation</th>
<th>Line</th></tr>
<tr class="b">
<td>Avoid unused private fields such as 'eventService'.</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/converter/ProductModelConverter.html#L33">33</a></td></tr></table></div>
<div class="section">
<h3><a name="orgapachelogginglog4jcatalogjpadaoPagingAndSortingRepository.java"></a>org/apache/logging/log4j/catalog/jpa/dao/PagingAndSortingRepository.java</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Violation</th>
<th>Line</th></tr>
<tr class="b">
<td>Avoid unused imports such as 'org.apache.logging.log4j.catalog.jpa.model.EventModel'</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/dao/PagingAndSortingRepository.html#L22">22</a></td></tr></table></div>
<div class="section">
<h3><a name="orgapachelogginglog4jcatalogjpamodelCategoryModel.java"></a>org/apache/logging/log4j/catalog/jpa/model/CategoryModel.java</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Violation</th>
<th>Line</th></tr>
<tr class="b">
<td>Avoid unused imports such as 'javax.persistence.CascadeType'</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/model/CategoryModel.html#L19">19</a></td></tr></table></div>
<div class="section">
<h3><a name="orgapachelogginglog4jcatalogjpamodelProductModel.java"></a>org/apache/logging/log4j/catalog/jpa/model/ProductModel.java</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Violation</th>
<th>Line</th></tr>
<tr class="b">
<td>Avoid unused imports such as 'javax.persistence.CascadeType'</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/model/ProductModel.html#L19">19</a></td></tr>
<tr class="a">
<td>Avoid unused imports such as 'org.apache.logging.log4j.catalog.api.Product'</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/model/ProductModel.html#L34">34</a></td></tr></table></div>
<div class="section">
<h3><a name="orgapachelogginglog4jcatalogjpaserviceAttributeServiceImpl.java"></a>org/apache/logging/log4j/catalog/jpa/service/AttributeServiceImpl.java</h3>
<table border="0" class="bodyTable">
<tr class="b">
<th>Violation</th>
<th>Line</th></tr>
<tr class="a">
<td>Avoid unused private fields such as 'LOGGER'.</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/service/AttributeServiceImpl.html#L37">37</a></td></tr></table></div>
<div class="section">
<h3><a name="orgapachelogginglog4jcatalogjpaserviceCatalogServiceImpl.java"></a>org/apache/logging/log4j/catalog/jpa/service/CatalogServiceImpl.java</h3>
<table border="0" class="bodyTable">
<tr class="b">
<th>Violation</th>
<th>Line</th></tr>
<tr class="a">
<td>Avoid unused imports such as 'java.time.LocalDateTime'</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/service/CatalogServiceImpl.html#L19">19</a></td></tr>
<tr class="b">
<td>Avoid unused private fields such as 'constraintPlugins'.</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/service/CatalogServiceImpl.html#L54">54</a></td></tr>
<tr class="a">
<td>Unnecessary use of fully qualified name 'org.apache.logging.log4j.catalog.api.Attribute' due to existing import 'org.apache.logging.log4j.catalog.api.Attribute'</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/service/CatalogServiceImpl.html#L80">80</a></td></tr>
<tr class="b">
<td>Unnecessary use of fully qualified name 'org.apache.logging.log4j.catalog.api.Event' due to existing import 'org.apache.logging.log4j.catalog.api.Event'</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/service/CatalogServiceImpl.html#L88">88</a></td></tr>
<tr class="a">
<td>Unnecessary use of fully qualified name 'org.apache.logging.log4j.catalog.api.Category' due to existing import 'org.apache.logging.log4j.catalog.api.Category'</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/service/CatalogServiceImpl.html#L96">96</a></td></tr></table></div>
<div class="section">
<h3><a name="orgapachelogginglog4jcatalogjpaserviceCategoryServiceImpl.java"></a>org/apache/logging/log4j/catalog/jpa/service/CategoryServiceImpl.java</h3>
<table border="0" class="bodyTable">
<tr class="b">
<th>Violation</th>
<th>Line</th></tr>
<tr class="a">
<td>Avoid unused private fields such as 'LOGGER'.</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/service/CategoryServiceImpl.html#L37">37</a></td></tr></table></div>
<div class="section">
<h3><a name="orgapachelogginglog4jcatalogjpaserviceConstraintServiceImpl.java"></a>org/apache/logging/log4j/catalog/jpa/service/ConstraintServiceImpl.java</h3>
<table border="0" class="bodyTable">
<tr class="b">
<th>Violation</th>
<th>Line</th></tr>
<tr class="a">
<td>Avoid unused private fields such as 'LOGGER'.</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/service/ConstraintServiceImpl.html#L37">37</a></td></tr></table></div>
<div class="section">
<h3><a name="orgapachelogginglog4jcatalogjpaserviceEventServiceImpl.java"></a>org/apache/logging/log4j/catalog/jpa/service/EventServiceImpl.java</h3>
<table border="0" class="bodyTable">
<tr class="b">
<th>Violation</th>
<th>Line</th></tr>
<tr class="a">
<td>Avoid unused private fields such as 'LOGGER'.</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/service/EventServiceImpl.html#L39">39</a></td></tr></table></div>
<div class="section">
<h3><a name="orgapachelogginglog4jcatalogjpaserviceProductServiceImpl.java"></a>org/apache/logging/log4j/catalog/jpa/service/ProductServiceImpl.java</h3>
<table border="0" class="bodyTable">
<tr class="b">
<th>Violation</th>
<th>Line</th></tr>
<tr class="a">
<td>Avoid unused private fields such as 'LOGGER'.</td>
<td><a href="./xref/org/apache/logging/log4j/catalog/jpa/service/ProductServiceImpl.html#L37">37</a></td></tr></table></div></div>
            </td>
        </tr>
    </table>
</div>

<div class="footer">
        <p>Copyright &copy; 2016-2018 <a class="external" href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
    <p>Apache Logging, Apache Log4j, Log4j, Apache Log4j Audit, Log4j Audit, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</p>
    <p>Site powered by <a class="external" href="http://getbootstrap.com/">Twitter Bootstrap</a>. Icons from <a class="external" href="http://glyphicons.com/">Glyphicons Free</a>.</p>
</div>
</div>
</body>
</html>
