| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| <html>
|
| <head>
|
| <title>Archiva Repository Interface Layer - CPD Results</title>
|
| <style type="text/css" media="all">
|
| @import url("./css/maven-base.css");
|
| @import url("./css/maven-theme.css");
|
| @import url("./css/site.css");
|
| </style>
|
| <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
|
| <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
|
| <?xml version="1.0" encoding="UTF-8"?> |
| <script type="text/javascript">var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); |
| document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script>
|
| <?xml version="1.0" encoding="UTF-8"?> |
| <script type="text/javascript">var pageTracker = _gat._getTracker("UA-140879-5"); |
| pageTracker._initData(); |
| pageTracker._trackPageview();</script>
|
| </head>
|
| <body class="composite">
|
| <div id="banner">
|
| <a href="../../" id="bannerLeft">
|
|
|
| <img src="../../images/archiva.png" alt="" />
|
|
|
| </a>
|
| <a href="http://www.apache.org/" id="bannerRight">
|
|
|
| <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
|
|
|
| </a>
|
| <div class="clear">
|
| <hr/>
|
| </div>
|
| </div>
|
| <div id="breadcrumbs">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| <div class="xleft">
|
|
|
| <a href="http://www.apache.org/">Apache</a>
|
| >
|
|
|
| <a href="../../">Archiva</a>
|
| >
|
|
|
| <a href="../../">Archiva :: Modules</a>
|
| </div>
|
| <div class="xright">
|
|
|
|
|
|
|
|
|
|
|
|
|
| | Last Published: 27 May 2011
|
| </div>
|
| <div class="clear">
|
| <hr/>
|
| </div>
|
| </div>
|
| <div id="leftColumn">
|
| <div id="navcolumn">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| <h5>Project Documentation</h5>
|
| <ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| <li class="collapsed">
|
| <a href="project-info.html">Project Information</a>
|
| </li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| <li class="expanded">
|
| <a href="project-reports.html">Project Reports</a>
|
| <ul>
|
|
|
| <li class="none">
|
| <a href="changelog.html">changelog</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="checkstyle.html">Checkstyle</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="clirr-report.html">Clirr</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="cobertura/index.html">Cobertura Test Coverage</a>
|
| </li>
|
|
|
| <li class="none">
|
| <strong>CPD Report</strong>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="dev-activity.html">dev-activity</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="file-activity.html">file-activity</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="surefire-report.html">Maven Surefire Report</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="pmd.html">PMD Report</a>
|
| </li>
|
|
|
| <li class="none">
|
| <a href="taglist.html">Tag List</a>
|
| </li>
|
| </ul>
|
| </li>
|
| </ul>
|
| <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy">
|
| <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
|
| </a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| </div>
|
| </div>
|
| <div id="bodyColumn">
|
| <div id="contentBox">
|
| <div class="section"><h2>CPD Results</h2><p>The following document contains the results of PMD's <a href="http://pmd.sourceforge.net/cpd.html">CPD</a> 4.2.5.</p></div><div class="section"><h2>Duplications</h2><table class="bodyTable"><tr class="a"><th>File</th><th>Line</th></tr><tr class="b"><td>org/apache/maven/archiva/repository/project/readers/ProjectModel300Reader.java</td><td><a href="./xref/org/apache/maven/archiva/repository/project/readers/ProjectModel300Reader.html#205">205</a></td></tr><tr class="a"><td>org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.java</td><td><a href="./xref/org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.html#261">261</a></td></tr><tr class="b"><td colspan='2'><div class="source"><pre> private List<Individual> getIndividuals( XMLReader xml, boolean isCommitor, String xpathExpr ) |
| throws XMLException |
| { |
| List<Individual> ret = new ArrayList<Individual>(); |
| |
| List<Element> modelPersonList = xml.getElementList( xpathExpr ); |
| |
| Iterator<Element> iter = modelPersonList.iterator(); |
| while ( iter.hasNext() ) |
| { |
| Element elemPerson = iter.next(); |
| Individual individual = new Individual(); |
| |
| if ( isCommitor ) |
| { |
| individual.setPrincipal( elemPerson.elementTextTrim( "id" ) ); |
| } |
| |
| individual.setCommitor( isCommitor ); |
| individual.setEmail( elemPerson.elementTextTrim( "email" ) ); |
| individual.setName( elemPerson.elementTextTrim( "name" ) ); |
| individual.setOrganization( elemPerson.elementTextTrim( "organization" ) ); |
| individual.setOrganizationUrl( elemPerson.elementTextTrim( "organizationUrl" ) ); |
| individual.setUrl( elemPerson.elementTextTrim( "url" ) ); |
| individual.setTimezone( elemPerson.elementTextTrim( "timezone" ) ); |
| individual.setIndividualEmail( elemPerson.elementTextTrim( "email" ) ); |
| |
| // Roles |
| Element elemRoles = elemPerson.element( "roles" ); |
| if ( elemRoles != null ) |
| { |
| List<Element> roleNames = elemRoles.elements( "role" ); |
| Iterator<Element> itRole = roleNames.iterator(); |
| while ( itRole.hasNext() ) |
| { |
| Element role = itRole.next(); |
| individual.addRole( role.getTextTrim() ); |
| } |
| } |
| |
| // Properties |
| individual.setProperties( getProperties( elemPerson.element( "properties" ) ) ); |
| |
| ret.add( individual ); |
| } |
| |
| return ret; |
| } |
| |
| private IssueManagement getIssueManagement( XMLReader xml ) |
| throws XMLException |
| { |
| Element elemIssueMgmt = xml.getElement( "//project/issueManagement" );</pre></div></td></tr></table><table class="bodyTable"><tr class="a"><th>File</th><th>Line</th></tr><tr class="b"><td>org/apache/maven/archiva/repository/project/readers/ProjectModel300Reader.java</td><td><a href="./xref/org/apache/maven/archiva/repository/project/readers/ProjectModel300Reader.html#306">306</a></td></tr><tr class="a"><td>org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.java</td><td><a href="./xref/org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.html#355">355</a></td></tr><tr class="b"><td colspan='2'><div class="source"><pre> private List<MailingList> getMailingLists( XMLReader xml ) |
| throws XMLException |
| { |
| List<MailingList> mailingLists = new ArrayList<MailingList>(); |
| |
| List<Element> mailingListElems = xml.getElementList( "//project/mailingLists/mailingList" ); |
| for ( Element elemMailingList : mailingListElems ) |
| { |
| MailingList mlist = new MailingList(); |
| |
| mlist.setName( elemMailingList.elementTextTrim( "name" ) ); |
| mlist.setSubscribeAddress( elemMailingList.elementTextTrim( "subscribe" ) ); |
| mlist.setUnsubscribeAddress( elemMailingList.elementTextTrim( "unsubscribe" ) ); |
| mlist.setPostAddress( elemMailingList.elementTextTrim( "post" ) ); |
| mlist.setMainArchiveUrl( elemMailingList.elementTextTrim( "archive" ) ); |
| |
| Element elemOtherArchives = elemMailingList.element( "otherArchives" ); |
| if ( elemOtherArchives != null ) |
| { |
| List<String> otherArchives = new ArrayList<String>(); |
| List<Element> others = elemOtherArchives.elements( "otherArchive" ); |
| for ( Element other : others ) |
| { |
| String otherArchive = other.getTextTrim(); |
| otherArchives.add( otherArchive ); |
| } |
| |
| mlist.setOtherArchives( otherArchives ); |
| } |
| |
| mailingLists.add( mlist ); |
| } |
| |
| return mailingLists; |
| } |
| |
| private Organization getOrganization( XMLReader xml ) |
| throws XMLException |
| { |
| Element elemOrg = xml.getElement( "//project/organization" ); |
| if ( elemOrg != null ) |
| { |
| Organization org = new Organization(); |
| |
| org.setOrganizationName( elemOrg.elementTextTrim( "name" ) ); |
| org.setName( elemOrg.elementTextTrim( "name" ) ); |
| org.setUrl( elemOrg.elementTextTrim( "url" ) ); |
| |
| return org; |
| } |
| |
| return null; |
| }</pre></div></td></tr></table><table class="bodyTable"><tr class="a"><th>File</th><th>Line</th></tr><tr class="b"><td>org/apache/maven/archiva/repository/project/readers/ProjectModel300Reader.java</td><td><a href="./xref/org/apache/maven/archiva/repository/project/readers/ProjectModel300Reader.html#91">91</a></td></tr><tr class="a"><td>org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.java</td><td><a href="./xref/org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.html#102">102</a></td></tr><tr class="b"><td colspan='2'><div class="source"><pre> model.setRelocation( getRelocation( xml ) ); |
| |
| model.setOrigin( "filesystem" ); |
| |
| return model; |
| } |
| |
| private ArtifactReference getArtifactReference( Element elemPlugin, String defaultType ) |
| { |
| ArtifactReference reference = new ArtifactReference(); |
| |
| reference.setGroupId( StringUtils.defaultString( elemPlugin.elementTextTrim( "groupId" ) ) ); |
| reference.setArtifactId( elemPlugin.elementTextTrim( "artifactId" ) ); |
| reference.setVersion( StringUtils.defaultString( elemPlugin.elementTextTrim( "version" ) ) ); |
| reference.setClassifier( StringUtils.defaultString( elemPlugin.elementTextTrim( "classifier" ) ) ); |
| reference.setType( StringUtils.defaultIfEmpty( elemPlugin.elementTextTrim( "type" ), defaultType ) ); |
| |
| return reference; |
| } |
| |
| /** |
| * Get List of {@link ArtifactReference} objects from xpath expr. |
| */ |
| private List<ArtifactReference> getArtifactReferenceList( XMLReader xml, String xpathExpr, String defaultType ) |
| throws XMLException |
| { |
| List<ArtifactReference> refs = new ArrayList<ArtifactReference>(); |
| |
| Iterator<Element> it = xml.getElementList( xpathExpr ).iterator(); |
| while ( it.hasNext() ) |
| { |
| Element elemPlugin = it.next(); |
| |
| refs.add( getArtifactReference( elemPlugin, defaultType ) ); |
| } |
| |
| return refs; |
| } |
| |
| private List<ArtifactReference> getBuildExtensions( XMLReader xml )</pre></div></td></tr></table><table class="bodyTable"><tr class="a"><th>File</th><th>Line</th></tr><tr class="b"><td>org/apache/maven/archiva/repository/project/readers/ProjectModel300Reader.java</td><td><a href="./xref/org/apache/maven/archiva/repository/project/readers/ProjectModel300Reader.html#143">143</a></td></tr><tr class="a"><td>org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.java</td><td><a href="./xref/org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.html#169">169</a></td></tr><tr class="b"><td colspan='2'><div class="source"><pre> private List<Dependency> getDependencyList( XMLReader xml, String parts[] ) |
| throws XMLException |
| { |
| List<Dependency> dependencyList = new ArrayList<Dependency>(); |
| |
| Element project = xml.getElement( "//project" ); |
| |
| Element depsParent = project; |
| |
| for ( String part : parts ) |
| { |
| depsParent = depsParent.element( part ); |
| if ( depsParent == null ) |
| { |
| return dependencyList; |
| } |
| } |
| |
| Iterator<Element> it = depsParent.elementIterator( "dependency" ); |
| while ( it.hasNext() ) |
| { |
| Element elemDependency = it.next(); |
| Dependency dependency = new Dependency(); |
| |
| dependency.setGroupId( elemDependency.elementTextTrim( "groupId" ) ); |
| dependency.setArtifactId( elemDependency.elementTextTrim( "artifactId" ) ); |
| dependency.setVersion( elemDependency.elementTextTrim( "version" ) ); |
| |
| dependency.setClassifier( StringUtils.defaultString( elemDependency.elementTextTrim( "classifier" ) ) );</pre></div></td></tr></table><table class="bodyTable"><tr class="a"><th>File</th><th>Line</th></tr><tr class="b"><td>org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java</td><td><a href="./xref/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.html#205">205</a></td></tr><tr class="a"><td>org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java</td><td><a href="./xref/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.html#245">245</a></td></tr><tr class="b"><td colspan='2'><div class="source"><pre> public Set<String> getVersions( VersionedReference reference ) |
| throws ContentNotFoundException |
| { |
| File groupDir = new File( repository.getLocation(), reference.getGroupId() ); |
| |
| if ( !groupDir.exists() ) |
| { |
| throw new ContentNotFoundException( "Unable to get versions using a non-existant groupId directory: " |
| + groupDir.getAbsolutePath() ); |
| } |
| |
| if ( !groupDir.isDirectory() ) |
| { |
| throw new ContentNotFoundException( "Unable to get versions using a non-directory: " |
| + groupDir.getAbsolutePath() ); |
| } |
| |
| Set<String> foundVersions = new HashSet<String>(); |
| |
| // First gather up the versions found as artifacts in the managed repository. |
| File typeDirs[] = groupDir.listFiles(); |
| for ( File typeDir : typeDirs ) |
| { |
| if ( !typeDir.isDirectory() ) |
| { |
| // Skip it, we only care about directories. |
| continue; |
| } |
| |
| if ( !typeDir.getName().endsWith( "s" ) ) |
| { |
| // Skip it, we only care about directories that end in "s". |
| }</pre></div></td></tr></table><table class="bodyTable"><tr class="a"><th>File</th><th>Line</th></tr><tr class="b"><td>org/apache/maven/archiva/repository/project/readers/ProjectModel300Reader.java</td><td><a href="./xref/org/apache/maven/archiva/repository/project/readers/ProjectModel300Reader.html#278">278</a></td></tr><tr class="a"><td>org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.java</td><td><a href="./xref/org/apache/maven/archiva/repository/project/readers/ProjectModel400Reader.html#328">328</a></td></tr><tr class="b"><td colspan='2'><div class="source"><pre> private List<License> getLicenses( XMLReader xml ) |
| throws XMLException |
| { |
| List<License> licenses = new ArrayList<License>(); |
| |
| Element elemLicenses = xml.getElement( "//project/licenses" ); |
| |
| if ( elemLicenses != null ) |
| { |
| List<Element> licenseList = elemLicenses.elements( "license" ); |
| for ( Element elemLicense : licenseList ) |
| { |
| License license = new License(); |
| |
| // TODO: Create LicenseIdentity class to managed license ids. |
| // license.setId( elemLicense.elementTextTrim("id") ); |
| license.setName( elemLicense.elementTextTrim( "name" ) ); |
| license.setUrl( elemLicense.elementTextTrim( "url" ) ); |
| license.setComments( elemLicense.elementTextTrim( "comments" ) ); |
| |
| licenses.add( license ); |
| } |
| } |
| |
| return licenses; |
| }</pre></div></td></tr></table><table class="bodyTable"><tr class="a"><th>File</th><th>Line</th></tr><tr class="b"><td>org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java</td><td><a href="./xref/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.html#393">393</a></td></tr><tr class="a"><td>org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java</td><td><a href="./xref/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.html#425">425</a></td></tr><tr class="b"><td colspan='2'><div class="source"><pre> private void getVersionedVersions( File typeDir, VersionedReference reference, Set<String> foundVersions ) |
| { |
| File repoFiles[] = typeDir.listFiles(); |
| for ( int i = 0; i < repoFiles.length; i++ ) |
| { |
| if ( repoFiles[i].isDirectory() ) |
| { |
| // Skip it. it's a directory. |
| continue; |
| } |
| |
| String relativePath = PathUtil.getRelative( repository.getLocation(), repoFiles[i] ); |
| |
| if ( filetypes.matchesArtifactPattern( relativePath ) ) |
| { |
| try |
| { |
| ArtifactReference artifact = toArtifactReference( relativePath ); |
| if ( StringUtils.equals( artifact.getArtifactId(), reference.getArtifactId() ) |
| && artifact.getVersion().startsWith( reference.getVersion() ) ) |
| {</pre></div></td></tr></table><table class="bodyTable"><tr class="a"><th>File</th><th>Line</th></tr><tr class="b"><td>org/apache/maven/archiva/repository/project/ProjectModelMerge.java</td><td><a href="./xref/org/apache/maven/archiva/repository/project/ProjectModelMerge.html#441">441</a></td></tr><tr class="a"><td>org/apache/maven/archiva/repository/project/ProjectModelMerge.java</td><td><a href="./xref/org/apache/maven/archiva/repository/project/ProjectModelMerge.html#491">491</a></td></tr><tr class="b"><td colspan='2'><div class="source"><pre> Map<String, Dependency> parentDepMap = createDependencyMap( parentDepMgmt ); |
| Set<String> uniqueKeys = new HashSet<String>(); |
| uniqueKeys.addAll( mainDepMap.keySet() ); |
| uniqueKeys.addAll( parentDepMap.keySet() ); |
| |
| Iterator<String> it = uniqueKeys.iterator(); |
| while ( it.hasNext() ) |
| { |
| String key = it.next(); |
| Dependency parentDep = parentDepMap.get( key ); |
| Dependency mainDep = mainDepMap.get( key ); |
| |
| if ( parentDep == null ) |
| { |
| // Means there is no parent depMan entry to override main depMan. |
| merged.add( mainDep ); |
| } |
| else |
| { |
| // Parent depMan entry exists (main doesn't have to). |
| // Merge the parent over the main depMan entry. |
| merged.add( merge( mainDep, parentDep ) ); |
| } |
| } |
| |
| return merged; |
| }</pre></div></td></tr></table><table class="bodyTable"><tr class="a"><th>File</th><th>Line</th></tr><tr class="b"><td>org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.java</td><td><a href="./xref/org/apache/maven/archiva/repository/content/ManagedDefaultRepositoryContent.html#82">82</a></td></tr><tr class="a"><td>org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.java</td><td><a href="./xref/org/apache/maven/archiva/repository/content/ManagedLegacyRepositoryContent.html#144">144</a></td></tr><tr class="b"><td colspan='2'><div class="source"><pre> supportFile.delete(); |
| } |
| } |
| |
| public String getId() |
| { |
| return repository.getId(); |
| } |
| |
| public Set<ArtifactReference> getRelatedArtifacts( ArtifactReference reference ) |
| throws ContentNotFoundException |
| { |
| File artifactFile = toFile( reference ); |
| File repoDir = artifactFile.getParentFile(); |
| |
| if ( !repoDir.exists() ) |
| { |
| throw new ContentNotFoundException( "Unable to get related artifacts using a non-existant directory: " |
| + repoDir.getAbsolutePath() ); |
| } |
| |
| if ( !repoDir.isDirectory() ) |
| { |
| throw new ContentNotFoundException( "Unable to get related artifacts using a non-directory: " |
| + repoDir.getAbsolutePath() ); |
| } |
| |
| Set<ArtifactReference> foundArtifacts = new HashSet<ArtifactReference>(); |
| |
| // First gather up the versions found as artifacts in the managed repository. |
| File projectParentDir = repoDir.getParentFile();</pre></div></td></tr></table></div>
|
| </div>
|
| </div>
|
| <div class="clear">
|
| <hr/>
|
| </div>
|
| <div id="footer">
|
| <div class="xright">©
|
| 2006-2011
|
|
|
| The Apache Software Foundation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| </div>
|
| <div class="clear">
|
| <hr/>
|
| </div>
|
| </div>
|
| </body>
|
| </html>
|