From commitsmichaelbecker@example.org Wed Feb 03 10:15:00 2010 Return-Path: <commitsmichaelbecker@example.org> Delivered-To: michaelbecker@example.org Received: (qmail 49365 invoked from network); 3 Feb 2010 10:15:00 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Feb 2010 10:15:00 -0000 Received: (qmail 35295 invoked by uid 500); 3 Feb 2010 10:15:00 -0000 Delivered-To: michaelbecker@example.org Received: (qmail 35227 invoked by uid 500); 3 Feb 2010 10:14:59 -0000 Mailing-List: contact michaelbecker@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelbecker@example.org> List-Unsubscribe: <mailto:michaelbecker@example.org> List-Post: <mailto:michaelbecker@example.org> List-Id: <commits.archiva.apache.org> Reply-To: michaelbecker@example.org Delivered-To: mailing list michaelbecker@example.org Received: (qmail 35218 invoked by uid 99); 3 Feb 2010 10:14:59 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Feb 2010 10:14:59 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Feb 2010 10:14:57 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 03C0F238897F; Wed, 3 Feb 2010 10:14:36 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r905969 - in /archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test: RepositoryTest.java parent/AbstractArchivaTest.java parent/AbstractRepositoryTest.java Date: Wed, 03 Feb 2010 10:14:34 -0000 To: michaelbecker@example.org From: michaelbecker@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelbecker@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: oching Date: Wed Feb 3 10:14:31 2010 New Revision: 905969 URL: http://svn.apache.org/viewvc?rev=905969&view=rev Log: fixed failing selenium tests by: o adding check if already in the page before attempting to click the link in nav menu o adding dependency to previous test for adding repository so proper order is executed Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java?rev=905969&r1=905968&r2=905969&view=diff ============================================================================== --- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java (original) +++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java Wed Feb 3 10:14:31 2010 @@ -36,6 +36,7 @@ assertRepositoriesPage(); } + @Test(dependsOnMethods = { "testAddManagedRepoValidValues" } ) public void testAddManagedRepoInvalidValues() { goToRepositoriesPage(); Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java?rev=905969&r1=905968&r2=905969&view=diff ============================================================================== --- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java (original) +++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java Wed Feb 3 10:14:31 2010 @@ -503,7 +503,10 @@ public void goToRepositoriesPage() { - clickLinkWithText( "Repositories" ); + if( !getTitle().equals( "Apache Archiva \\ Administration - Repositories" ) ) + { + clickLinkWithText( "Repositories" ); + } assertRepositoriesPage(); } Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java?rev=905969&r1=905968&r2=905969&view=diff ============================================================================== --- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java (original) +++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java Wed Feb 3 10:14:31 2010 @@ -28,7 +28,10 @@ // Repository Groups public void goToRepositoryGroupsPage() { - clickLinkWithText( "Repository Groups" ); + if( !getTitle().equals( "Apache Archiva \\ Administration - Repository Groups" ) ) + { + clickLinkWithText( "Repository Groups" ); + } assertRepositoryGroupsPage(); } @@ -288,8 +291,8 @@ } public void editManagedRepository( String fieldName, String value ) - { - //goToRepositoriesPage(); + { + goToRepositoriesPage(); clickLinkWithXPath( "//div[@id='contentArea']/div/div[5]/div[1]/a[1]/img" ); assertPage( "Apache Archiva \\ Admin: Edit Managed Repository" ); setFieldValue(fieldName, value); From commitsmichaelbecker@example.org Wed Feb 03 10:21:23 2010 Return-Path: <commitsmichaelbecker@example.org> Delivered-To: michaelbecker@example.org Received: (qmail 53624 invoked from network); 3 Feb 2010 10:21:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Feb 2010 10:21:23 -0000 Received: (qmail 43394 invoked by uid 500); 3 Feb 2010 10:21:23 -0000 Delivered-To: michaelbecker@example.org Received: (qmail 43339 invoked by uid 500); 3 Feb 2010 10:21:23 -0000 Mailing-List: contact michaelbecker@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelbecker@example.org> List-Unsubscribe: <mailto:michaelbecker@example.org> List-Post: <mailto:michaelbecker@example.org> List-Id: <commits.archiva.apache.org> Reply-To: michaelbecker@example.org Delivered-To: mailing list michaelbecker@example.org Received: (qmail 43329 invoked by uid 99); 3 Feb 2010 10:21:23 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Feb 2010 10:21:23 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Feb 2010 10:21:21 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 079FC238897F; Wed, 3 Feb 2010 10:21:00 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r905971 - in /archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test: RepositoryTest.java parent/AbstractArchivaTest.java parent/AbstractRepositoryTest.java Date: Wed, 03 Feb 2010 10:20:58 -0000 To: michaelbecker@example.org From: michaelbecker@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelbecker@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: oching Date: Wed Feb 3 10:20:55 2010 New Revision: 905971 URL: http://svn.apache.org/viewvc?rev=905971&view=rev Log: merged from trunk -r905969 (fixed failing selenium test) Modified: archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java Modified: archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java URL: http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java?rev=905971&r1=905970&r2=905971&view=diff ============================================================================== --- archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java (original) +++ archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java Wed Feb 3 10:20:55 2010 @@ -36,6 +36,7 @@ assertRepositoriesPage(); } + @Test(dependsOnMethods = { "testAddManagedRepoValidValues" } ) public void testAddManagedRepoInvalidValues() { goToRepositoriesPage(); Modified: archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java URL: http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java?rev=905971&r1=905970&r2=905971&view=diff ============================================================================== --- archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java (original) +++ archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java Wed Feb 3 10:20:55 2010 @@ -503,7 +503,10 @@ public void goToRepositoriesPage() { - clickLinkWithText( "Repositories" ); + if( !getTitle().equals( "Apache Archiva \\ Administration - Repositories" ) ) + { + clickLinkWithText( "Repositories" ); + } assertRepositoriesPage(); } Modified: archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java URL: http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java?rev=905971&r1=905970&r2=905971&view=diff ============================================================================== --- archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java (original) +++ archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java Wed Feb 3 10:20:55 2010 @@ -28,7 +28,10 @@ // Repository Groups public void goToRepositoryGroupsPage() { - clickLinkWithText( "Repository Groups" ); + if( !getTitle().equals( "Apache Archiva \\ Administration - Repository Groups" ) ) + { + clickLinkWithText( "Repository Groups" ); + } assertRepositoryGroupsPage(); } @@ -288,8 +291,8 @@ } public void editManagedRepository( String fieldName, String value ) - { - //goToRepositoriesPage(); + { + goToRepositoriesPage(); clickLinkWithXPath( "//div[@id='contentArea']/div/div[5]/div[1]/a[1]/img" ); assertPage( "Apache Archiva \\ Admin: Edit Managed Repository" ); setFieldValue(fieldName, value); From commitsmichaelbecker@example.org Wed Feb 03 11:11:41 2010 Return-Path: <commitsmichaelbecker@example.org> Delivered-To: michaelbecker@example.org Received: (qmail 75472 invoked from network); 3 Feb 2010 11:11:41 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Feb 2010 11:11:41 -0000 Received: (qmail 24696 invoked by uid 500); 3 Feb 2010 11:11:41 -0000 Delivered-To: michaelbecker@example.org Received: (qmail 24638 invoked by uid 500); 3 Feb 2010 11:11:40 -0000 Mailing-List: contact michaelbecker@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelbecker@example.org> List-Unsubscribe: <mailto:michaelbecker@example.org> List-Post: <mailto:michaelbecker@example.org> List-Id: <commits.archiva.apache.org> Reply-To: michaelbecker@example.org Delivered-To: mailing list michaelbecker@example.org Received: (qmail 24629 invoked by uid 99); 3 Feb 2010 11:11:40 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Feb 2010 11:11:40 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Feb 2010 11:11:38 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id D0E7323889BB; Wed, 3 Feb 2010 11:11:16 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r905996 - in /archiva/trunk/archiva-modules/archiva-web: archiva-webapp-test/src/test/resources/ archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ Date: Wed, 03 Feb 2010 11:11:13 -0000 To: michaelbecker@example.org From: michaelbecker@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelbecker@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: oching Date: Wed Feb 3 11:11:06 2010 New Revision: 905996 URL: http://svn.apache.org/viewvc?rev=905996&view=rev Log: [MRM-1316] audit log report does not restrict events to repositories that you are a manager of o filter the results and show only actions performed on repos which the user has access to o added selenium test Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties?rev=905996&r1=905995&r2=905996&view=diff ============================================================================== --- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties (original) +++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties Wed Feb 3 11:11:06 2010 @@ -77,6 +77,13 @@ ARTIFACTFILEPATH1=test REPOSITORYID1=internal +SNAPSHOT_GROUPID=org.apache.archiva +SNAPSHOT_ARTIFACTID=archiva-test +SNAPSHOT_VERSION=1.0-SNAPSHOT +SNAPSHOT_PACKAGING=jar +SNAPSHOT_ARTIFACTFILEPATH=test +SNAPSHOT_REPOSITORYID=snapshots + # REPOSITORIES # Manage Repositories MANAGED_IDENTIFIER=testing1 Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java?rev=905996&r1=905995&r2=905996&view=diff ============================================================================== --- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java (original) +++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java Wed Feb 3 11:11:06 2010 @@ -128,4 +128,40 @@ assertTextPresent( "internal" ); assertTextPresent( "admin" ); } + + @Test (dependsOnMethods = { "testAddArtifactValidValues", "testUserWithRepoManagerInternalRole" }, enabled = false ) + public void testViewAuditLogsViewAuditEventsForManageableRepositoriesOnly() + { + String groupId = getProperty( "SNAPSHOT_GROUPID" ); + String artifactId = getProperty( "SNAPSHOT_ARTIFACTID" ); + String version = getProperty( "SNAPSHOT_VERSION" ); + String repo = getProperty( "SNAPSHOT_REPOSITORYID" ); + String packaging = getProperty( "SNAPSHOT_PACKAGING" ); + + addArtifact( groupId, artifactId, version, packaging, getProperty( "SNAPSHOT_ARTIFACTFILEPATH" ), repo ); + assertTextPresent( "Artifact '" + groupId + ":" + artifactId + ":" + version + + "' was successfully deployed to repository '" + repo + "'" ); + + clickLinkWithText( "Logout" ); + + login( getProperty( "REPOMANAGER_INTERNAL_USERNAME" ), getUserRolePassword() ); + goToAuditLogReports(); + assertAuditLogsReportPage(); + + selectValue( "repository", "all" ); + submit(); + + assertAuditLogsReportPage(); + assertTextPresent( "Results" ); + assertTextNotPresent( "No audit logs found." ); + assertTextPresent( "test-1.0.jar" ); + assertTextPresent( "Uploaded File" ); + assertTextPresent( "internal" ); + assertTextPresent( "admin" ); + + assertTextNotPresent( artifactId + "-" + version + "." + packaging ); + + clickLinkWithText( "Logout" ); + login( getProperty( "ADMIN_USERNAME" ), getProperty( "ADMIN_PASSWORD" ) ); + } } Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java?rev=905996&r1=905995&r2=905996&view=diff ============================================================================== --- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java (original) +++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java Wed Feb 3 11:11:06 2010 @@ -149,7 +149,7 @@ } SimpleConstraint constraint = new MostRecentArchivaAuditLogsConstraint(); - auditLogs = (List<ArchivaAuditLogs>) dao.query( constraint ); + auditLogs = filterLogs( (List<ArchivaAuditLogs>) dao.query( constraint ) ); } public String execute() @@ -216,7 +216,8 @@ try { - auditLogs = auditLogsDao.queryAuditLogs( constraint ); + auditLogs = filterLogs( auditLogsDao.queryAuditLogs( constraint ) ); + if( auditLogs.isEmpty() ) { addActionError( "No audit logs found." ); @@ -244,6 +245,25 @@ return SUCCESS; } + private List<ArchivaAuditLogs> filterLogs( List<ArchivaAuditLogs> auditLogs ) + { + List<String> observableRepos = getManageableRepositories(); + List<ArchivaAuditLogs> filteredAuditLogs = new ArrayList<ArchivaAuditLogs>(); + + if( auditLogs != null ) + { + for( ArchivaAuditLogs auditLog : auditLogs ) + { + if( observableRepos.contains( auditLog.getRepositoryId() ) ) + { + filteredAuditLogs.add( auditLog ); + } + } + } + + return filteredAuditLogs; + } + private void paginate() { if ( auditLogs.size() <= rowCount ) @@ -270,6 +290,27 @@ next = StringUtils.replace( next, " ", "%20" ); } + private List<String> getManageableRepositories() + { + try + { + return userRepositories.getManagableRepositoryIds( getPrincipal() ); + } + catch ( PrincipalNotFoundException e ) + { + log.warn( e.getMessage(), e ); + } + catch ( AccessDeniedException e ) + { + log.warn( e.getMessage(), e ); + } + catch ( ArchivaSecurityException e ) + { + log.warn( e.getMessage(), e ); + } + return Collections.emptyList(); + } + private List<String> getObservableRepositories() { try From commitsmichaelbecker@example.org Wed Feb 03 11:14:55 2010 Return-Path: <commitsmichaelbecker@example.org> Delivered-To: michaelbecker@example.org Received: (qmail 77362 invoked from network); 3 Feb 2010 11:14:55 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Feb 2010 11:14:55 -0000 Received: (qmail 27935 invoked by uid 500); 3 Feb 2010 11:14:55 -0000 Delivered-To: michaelbecker@example.org Received: (qmail 27883 invoked by uid 500); 3 Feb 2010 11:14:55 -0000 Mailing-List: contact michaelbecker@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelbecker@example.org> List-Unsubscribe: <mailto:michaelbecker@example.org> List-Post: <mailto:michaelbecker@example.org> List-Id: <commits.archiva.apache.org> Reply-To: michaelbecker@example.org Delivered-To: mailing list michaelbecker@example.org Received: (qmail 27874 invoked by uid 99); 3 Feb 2010 11:14:55 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Feb 2010 11:14:55 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Feb 2010 11:14:52 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 40041238897F; Wed, 3 Feb 2010 11:14:31 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r905998 - in /archiva/branches/archiva-1.3.x/archiva-modules/archiva-web: archiva-webapp-test/src/test/resources/ archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ archiva-webapp/src/main/java/org/apache/maven/archiva/web/act... Date: Wed, 03 Feb 2010 11:14:25 -0000 To: michaelbecker@example.org From: michaelbecker@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelbecker@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: oching Date: Wed Feb 3 11:14:20 2010 New Revision: 905998 URL: http://svn.apache.org/viewvc?rev=905998&view=rev Log: [MRM-1316] audit log report does not restrict events to repositories that you are a manager of merged from trunk -r905996 Modified: archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java Modified: archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties URL: http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties?rev=905998&r1=905997&r2=905998&view=diff ============================================================================== --- archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties (original) +++ archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties Wed Feb 3 11:14:20 2010 @@ -77,6 +77,13 @@ ARTIFACTFILEPATH1=test REPOSITORYID1=internal +SNAPSHOT_GROUPID=org.apache.archiva +SNAPSHOT_ARTIFACTID=archiva-test +SNAPSHOT_VERSION=1.0-SNAPSHOT +SNAPSHOT_PACKAGING=jar +SNAPSHOT_ARTIFACTFILEPATH=test +SNAPSHOT_REPOSITORYID=snapshots + # REPOSITORIES # Manage Repositories MANAGED_IDENTIFIER=testing1 Modified: archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java URL: http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java?rev=905998&r1=905997&r2=905998&view=diff ============================================================================== --- archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java (original) +++ archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java Wed Feb 3 11:14:20 2010 @@ -128,4 +128,40 @@ assertTextPresent( "internal" ); assertTextPresent( "admin" ); } + + @Test (dependsOnMethods = { "testAddArtifactValidValues", "testUserWithRepoManagerInternalRole" }, enabled = false ) + public void testViewAuditLogsViewAuditEventsForManageableRepositoriesOnly() + { + String groupId = getProperty( "SNAPSHOT_GROUPID" ); + String artifactId = getProperty( "SNAPSHOT_ARTIFACTID" ); + String version = getProperty( "SNAPSHOT_VERSION" ); + String repo = getProperty( "SNAPSHOT_REPOSITORYID" ); + String packaging = getProperty( "SNAPSHOT_PACKAGING" ); + + addArtifact( groupId, artifactId, version, packaging, getProperty( "SNAPSHOT_ARTIFACTFILEPATH" ), repo ); + assertTextPresent( "Artifact '" + groupId + ":" + artifactId + ":" + version + + "' was successfully deployed to repository '" + repo + "'" ); + + clickLinkWithText( "Logout" ); + + login( getProperty( "REPOMANAGER_INTERNAL_USERNAME" ), getUserRolePassword() ); + goToAuditLogReports(); + assertAuditLogsReportPage(); + + selectValue( "repository", "all" ); + submit(); + + assertAuditLogsReportPage(); + assertTextPresent( "Results" ); + assertTextNotPresent( "No audit logs found." ); + assertTextPresent( "test-1.0.jar" ); + assertTextPresent( "Uploaded File" ); + assertTextPresent( "internal" ); + assertTextPresent( "admin" ); + + assertTextNotPresent( artifactId + "-" + version + "." + packaging ); + + clickLinkWithText( "Logout" ); + login( getProperty( "ADMIN_USERNAME" ), getProperty( "ADMIN_PASSWORD" ) ); + } } Modified: archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java URL: http://svn.apache.org/viewvc/archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java?rev=905998&r1=905997&r2=905998&view=diff ============================================================================== --- archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java (original) +++ archiva/branches/archiva-1.3.x/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/reports/ViewAuditLogReportAction.java Wed Feb 3 11:14:20 2010 @@ -149,7 +149,7 @@ } SimpleConstraint constraint = new MostRecentArchivaAuditLogsConstraint(); - auditLogs = (List<ArchivaAuditLogs>) dao.query( constraint ); + auditLogs = filterLogs( (List<ArchivaAuditLogs>) dao.query( constraint ) ); } public String execute() @@ -216,7 +216,8 @@ try { - auditLogs = auditLogsDao.queryAuditLogs( constraint ); + auditLogs = filterLogs( auditLogsDao.queryAuditLogs( constraint ) ); + if( auditLogs.isEmpty() ) { addActionError( "No audit logs found." ); @@ -244,6 +245,25 @@ return SUCCESS; } + private List<ArchivaAuditLogs> filterLogs( List<ArchivaAuditLogs> auditLogs ) + { + List<String> observableRepos = getManageableRepositories(); + List<ArchivaAuditLogs> filteredAuditLogs = new ArrayList<ArchivaAuditLogs>(); + + if( auditLogs != null ) + { + for( ArchivaAuditLogs auditLog : auditLogs ) + { + if( observableRepos.contains( auditLog.getRepositoryId() ) ) + { + filteredAuditLogs.add( auditLog ); + } + } + } + + return filteredAuditLogs; + } + private void paginate() { if ( auditLogs.size() <= rowCount ) @@ -270,6 +290,27 @@ next = StringUtils.replace( next, " ", "%20" ); } + private List<String> getManageableRepositories() + { + try + { + return userRepositories.getManagableRepositoryIds( getPrincipal() ); + } + catch ( PrincipalNotFoundException e ) + { + log.warn( e.getMessage(), e ); + } + catch ( AccessDeniedException e ) + { + log.warn( e.getMessage(), e ); + } + catch ( ArchivaSecurityException e ) + { + log.warn( e.getMessage(), e ); + } + return Collections.emptyList(); + } + private List<String> getObservableRepositories() { try From commitsmichaelbecker@example.org Thu Feb 11 01:59:59 2010 Return-Path: <commitsmichaelbecker@example.org> Delivered-To: michaelbecker@example.org Received: (qmail 42026 invoked from network); 11 Feb 2010 01:59:58 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 11 Feb 2010 01:59:58 -0000 Received: (qmail 76529 invoked by uid 500); 11 Feb 2010 01:59:58 -0000 Delivered-To: michaelbecker@example.org Received: (qmail 76467 invoked by uid 500); 11 Feb 2010 01:59:58 -0000 Mailing-List: contact michaelbecker@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelbecker@example.org> List-Unsubscribe: <mailto:michaelbecker@example.org> List-Post: <mailto:michaelbecker@example.org> List-Id: <commits.archiva.apache.org> Reply-To: michaelbecker@example.org Delivered-To: mailing list michaelbecker@example.org Received: (qmail 76458 invoked by uid 99); 11 Feb 2010 01:59:58 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Feb 2010 01:59:58 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Feb 2010 01:59:56 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 0A41823889B3; Thu, 11 Feb 2010 01:59:35 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r908791 - in /archiva/branches/MRM-1025/archiva-modules/src/site: apt/ apt/index.apt resources/ site.xml Date: Thu, 11 Feb 2010 01:59:34 -0000 To: michaelbecker@example.org From: michaelbecker@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelbecker@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: brett Date: Thu Feb 11 01:59:34 2010 New Revision: 908791 URL: http://svn.apache.org/viewvc?rev=908791&view=rev Log: fix appearance of developer's reference and add a front page Added: archiva/branches/MRM-1025/archiva-modules/src/site/apt/ archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt archiva/branches/MRM-1025/archiva-modules/src/site/resources/ Modified: archiva/branches/MRM-1025/archiva-modules/src/site/site.xml Added: archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt?rev=908791&view=auto ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt (added) +++ archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt Thu Feb 11 01:59:34 2010 @@ -0,0 +1,8 @@ + ---- + Archiva Developer's Documentation + ---- + +Archiva Developer's Documentation + + These documents cover the architecture of Archiva and how to work with it. + Modified: archiva/branches/MRM-1025/archiva-modules/src/site/site.xml URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/src/site/site.xml?rev=908791&r1=908790&r2=908791&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/src/site/site.xml (original) +++ archiva/branches/MRM-1025/archiva-modules/src/site/site.xml Thu Feb 11 01:59:34 2010 @@ -26,6 +26,10 @@ --> </breadcrumbs> + <menu name="Developers"> + <item name="About" href="/index.html" /> + </menu> + <menu ref="modules" /> </body> </project> From commitsmichaelbecker@example.org Thu Feb 11 02:00:38 2010 Return-Path: <commitsmichaelbecker@example.org> Delivered-To: michaelbecker@example.org Received: (qmail 42354 invoked from network); 11 Feb 2010 02:00:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 11 Feb 2010 02:00:38 -0000 Received: (qmail 76664 invoked by uid 500); 11 Feb 2010 02:00:38 -0000 Delivered-To: michaelbecker@example.org Received: (qmail 76607 invoked by uid 500); 11 Feb 2010 02:00:38 -0000 Mailing-List: contact michaelbecker@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelbecker@example.org> List-Unsubscribe: <mailto:michaelbecker@example.org> List-Post: <mailto:michaelbecker@example.org> List-Id: <commits.archiva.apache.org> Reply-To: michaelbecker@example.org Delivered-To: mailing list michaelbecker@example.org Received: (qmail 76598 invoked by uid 99); 11 Feb 2010 02:00:38 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Feb 2010 02:00:38 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Feb 2010 02:00:37 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 6113A2388A3B; Thu, 11 Feb 2010 02:00:17 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r908792 - in /archiva/branches/MRM-1025/archiva-modules/src/site/resources/css: ./ site.css Date: Thu, 11 Feb 2010 02:00:17 -0000 To: michaelbecker@example.org From: michaelbecker@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelbecker@example.org> Author: brett Date: Thu Feb 11 02:00:17 2010 New Revision: 908792 URL: http://svn.apache.org/viewvc?rev=908792&view=rev Log: fix appearance of developer's reference (file missed by IDEA commit) Added: archiva/branches/MRM-1025/archiva-modules/src/site/resources/css/ archiva/branches/MRM-1025/archiva-modules/src/site/resources/css/site.css (with props) Added: archiva/branches/MRM-1025/archiva-modules/src/site/resources/css/site.css URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/src/site/resources/css/site.css?rev=908792&view=auto ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/src/site/resources/css/site.css (added) +++ archiva/branches/MRM-1025/archiva-modules/src/site/resources/css/site.css Thu Feb 11 02:00:17 2010 @@ -0,0 +1,8 @@ +#banner { + background: none; +} + +#banner img { + margin: 10px; +} + Propchange: archiva/branches/MRM-1025/archiva-modules/src/site/resources/css/site.css ------------------------------------------------------------------------------ svn:eol-style = native From commitsmichaelbecker@example.org Thu Feb 11 02:33:15 2010 Return-Path: <commitsmichaelbecker@example.org> Delivered-To: michaelbecker@example.org Received: (qmail 54442 invoked from network); 11 Feb 2010 02:33:15 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 11 Feb 2010 02:33:15 -0000 Received: (qmail 97808 invoked by uid 500); 11 Feb 2010 02:33:15 -0000 Delivered-To: michaelbecker@example.org Received: (qmail 97747 invoked by uid 500); 11 Feb 2010 02:33:15 -0000 Mailing-List: contact michaelbecker@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelbecker@example.org> List-Unsubscribe: <mailto:michaelbecker@example.org> List-Post: <mailto:michaelbecker@example.org> List-Id: <commits.archiva.apache.org> Reply-To: michaelbecker@example.org Delivered-To: mailing list michaelbecker@example.org Received: (qmail 97738 invoked by uid 99); 11 Feb 2010 02:33:14 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Feb 2010 02:33:14 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Feb 2010 02:33:14 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id DA2D12388A2D; Thu, 11 Feb 2010 02:32:53 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r908808 - in /archiva/branches/MRM-1025/archiva-modules: pom.xml src/site/site.xml Date: Thu, 11 Feb 2010 02:32:53 -0000 To: michaelbecker@example.org From: michaelbecker@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelbecker@example.org> Author: brett Date: Thu Feb 11 02:32:53 2010 New Revision: 908808 URL: http://svn.apache.org/viewvc?rev=908808&view=rev Log: reduce number of reports included Modified: archiva/branches/MRM-1025/archiva-modules/pom.xml archiva/branches/MRM-1025/archiva-modules/src/site/site.xml Modified: archiva/branches/MRM-1025/archiva-modules/pom.xml URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/pom.xml?rev=908808&r1=908807&r2=908808&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/pom.xml (original) +++ archiva/branches/MRM-1025/archiva-modules/pom.xml Thu Feb 11 02:32:53 2010 @@ -36,11 +36,27 @@ </modules> <reporting> <plugins> + <!-- No need for the standard project reports --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-project-info-reports-plugin</artifactId> + <version>2.0.1</version> + <reportSets> + <reportSet> + <reports> + <report>index</report> + </reports> + </reportSet> + </reportSets> + </plugin> + <!-- Disabled - not working <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.2</version> </plugin> + --> + <!-- Disabled - not currently being used to correct errors <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> @@ -48,12 +64,13 @@ <configuration> <includeTestSourceDirectory>true</includeTestSourceDirectory> <configLocation>config/maven_checks.xml</configLocation> - <!-- TODO: enable when archiva-build-resources is active (released?) + <!- - TODO: enable when archiva-build-resources is active (released?) <configLocation>checkstyle.xml</configLocation> <headerLocation>header.txt</headerLocation> - --> + - -> </configuration> </plugin> + --> <!-- TODO: OOME <plugin> <groupId>org.codehaus.mojo</groupId> @@ -63,10 +80,6 @@ --> <plugin> <groupId>org.codehaus.mojo</groupId> - <artifactId>changelog-maven-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId> </plugin> <plugin> @@ -76,10 +89,6 @@ </configuration> </plugin> <plugin> - <artifactId>maven-surefire-report-plugin</artifactId> - <version>2.4.2</version> - </plugin> - <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>2.4</version> <configuration> @@ -113,19 +122,30 @@ <link>http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/</link> </links> </configuration> + <reportSets> + <reportSet> + <reports> + <!-- Don't need tests --> + <report>javadoc</report> + </reports> + </reportSet> + </reportSets> </plugin> + <!-- TODO: choose appropriate rulesets <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> - <!-- TODO: choose appropriate rulesets --> <configuration> <targetJdk>1.5</targetJdk> </configuration> </plugin> + --> + <!-- Not being checked <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>clirr-maven-plugin</artifactId> </plugin> + --> </plugins> </reporting> <profiles> Modified: archiva/branches/MRM-1025/archiva-modules/src/site/site.xml URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/src/site/site.xml?rev=908808&r1=908807&r2=908808&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/src/site/site.xml (original) +++ archiva/branches/MRM-1025/archiva-modules/src/site/site.xml Thu Feb 11 02:32:53 2010 @@ -26,10 +26,6 @@ --> </breadcrumbs> - <menu name="Developers"> - <item name="About" href="/index.html" /> - </menu> - <menu ref="modules" /> </body> </project> From commitsmichaelbecker@example.org Thu Feb 11 02:53:51 2010 Return-Path: <commitsmichaelbecker@example.org> Delivered-To: michaelbecker@example.org Received: (qmail 61688 invoked from network); 11 Feb 2010 02:53:51 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 11 Feb 2010 02:53:51 -0000 Received: (qmail 11931 invoked by uid 500); 11 Feb 2010 02:53:51 -0000 Delivered-To: michaelbecker@example.org Received: (qmail 11877 invoked by uid 500); 11 Feb 2010 02:53:51 -0000 Mailing-List: contact michaelbecker@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelbecker@example.org> List-Unsubscribe: <mailto:michaelbecker@example.org> List-Post: <mailto:michaelbecker@example.org> List-Id: <commits.archiva.apache.org> Reply-To: michaelbecker@example.org Delivered-To: mailing list michaelbecker@example.org Received: (qmail 11868 invoked by uid 99); 11 Feb 2010 02:53:50 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Feb 2010 02:53:50 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Feb 2010 02:53:48 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 586A323889CB; Thu, 11 Feb 2010 02:53:27 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r908814 - in /archiva/branches/MRM-1025: ./ archiva-modules/ archiva-modules/src/site/ archiva-modules/src/site/resources/ skin/ skin/src/ skin/src/main/resources/css/ skin/src/main/resources/images/ skin/src/main/resources/images/logos/ sk... Date: Thu, 11 Feb 2010 02:53:27 -0000 To: michaelbecker@example.org From: michaelbecker@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelbecker@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: brett Date: Thu Feb 11 02:53:26 2010 New Revision: 908814 URL: http://svn.apache.org/viewvc?rev=908814&view=rev Log: add a skin based on maven-stylus-skin that can be shared among all the module sites Added: archiva/branches/MRM-1025/skin/ (with props) archiva/branches/MRM-1025/skin/pom.xml (with props) archiva/branches/MRM-1025/skin/src/ - copied from r905633, maven/skins/trunk/maven-stylus-skin/src/ Removed: archiva/branches/MRM-1025/archiva-modules/src/site/resources/ archiva/branches/MRM-1025/skin/src/main/resources/images/apache-maven-project-2.png archiva/branches/MRM-1025/skin/src/main/resources/images/banner.jpg archiva/branches/MRM-1025/skin/src/main/resources/images/logo_apache.jpg archiva/branches/MRM-1025/skin/src/main/resources/images/logo_maven.jpg archiva/branches/MRM-1025/skin/src/main/resources/images/logos/build-by-maven-black.png archiva/branches/MRM-1025/skin/src/main/resources/images/logos/build-by-maven-white.png archiva/branches/MRM-1025/skin/src/main/resources/images/maven-logo-2.gif archiva/branches/MRM-1025/skin/src/site/ Modified: archiva/branches/MRM-1025/archiva-modules/pom.xml archiva/branches/MRM-1025/archiva-modules/src/site/site.xml archiva/branches/MRM-1025/pom.xml archiva/branches/MRM-1025/skin/src/main/resources/css/maven-theme.css Modified: archiva/branches/MRM-1025/archiva-modules/pom.xml URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/pom.xml?rev=908814&r1=908813&r2=908814&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/pom.xml (original) +++ archiva/branches/MRM-1025/archiva-modules/pom.xml Thu Feb 11 02:53:26 2010 @@ -34,6 +34,17 @@ <module>metadata</module> <module>plugins</module> </modules> + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-site-plugin</artifactId> + <version>2.1</version> + </plugin> + </plugins> + </pluginManagement> + </build> <reporting> <plugins> <!-- No need for the standard project reports --> Modified: archiva/branches/MRM-1025/archiva-modules/src/site/site.xml URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/src/site/site.xml?rev=908814&r1=908813&r2=908814&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/src/site/site.xml (original) +++ archiva/branches/MRM-1025/archiva-modules/src/site/site.xml Thu Feb 11 02:53:26 2010 @@ -19,6 +19,11 @@ --> <project> + <skin> + <groupId>org.apache.archiva</groupId> + <artifactId>skin</artifactId> + <version>${project.version}</version> + </skin> <body> <breadcrumbs> <!-- TODO: need to stop them inheriting @@ -26,6 +31,9 @@ --> </breadcrumbs> + <menu name="Developers"> + <item name="About" href="/index.html" /> + </menu> <menu ref="modules" /> </body> </project> Modified: archiva/branches/MRM-1025/pom.xml URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/pom.xml?rev=908814&r1=908813&r2=908814&view=diff ============================================================================== --- archiva/branches/MRM-1025/pom.xml (original) +++ archiva/branches/MRM-1025/pom.xml Thu Feb 11 02:53:26 2010 @@ -1,5 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> - <!-- ~ Licensed to the Apache Software Foundation (ASF) under one ~ or more contributor license agreements. See the NOTICE file @@ -17,9 +16,7 @@ ~ KIND, either express or implied. See the License for the ~ specific language governing permissions and limitations ~ under the License. - --> - -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + --><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <prerequisites> <maven>2.0.6</maven> @@ -205,6 +202,7 @@ <module>archiva-docs</module> <module>archiva-jetty</module> <module>archiva-modules</module> + <module>skin</module> </modules> <dependencies> <dependency> @@ -1231,4 +1229,4 @@ <url>http://vmbuild.apache.org/archiva/repository/staged-archiva</url> </repository> </distributionManagement> -</project> +</project> \ No newline at end of file Propchange: archiva/branches/MRM-1025/skin/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Thu Feb 11 02:53:26 2010 @@ -0,0 +1,2 @@ +target +*.iml Added: archiva/branches/MRM-1025/skin/pom.xml URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/skin/pom.xml?rev=908814&view=auto ============================================================================== --- archiva/branches/MRM-1025/skin/pom.xml (added) +++ archiva/branches/MRM-1025/skin/pom.xml Thu Feb 11 02:53:26 2010 @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <parent> + <artifactId>archiva</artifactId> + <groupId>org.apache.archiva</groupId> + <version>1.4-SNAPSHOT</version> + </parent> + <artifactId>skin</artifactId> + <name>Archiva Documentation Skin</name> +</project> Propchange: archiva/branches/MRM-1025/skin/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Modified: archiva/branches/MRM-1025/skin/src/main/resources/css/maven-theme.css URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/skin/src/main/resources/css/maven-theme.css?rev=908814&r1=905633&r2=908814&view=diff ============================================================================== --- archiva/branches/MRM-1025/skin/src/main/resources/css/maven-theme.css (original) +++ archiva/branches/MRM-1025/skin/src/main/resources/css/maven-theme.css Thu Feb 11 02:53:26 2010 @@ -169,7 +169,6 @@ } #banner { height: 93px; - background: url(../images/banner.jpg); } #navcolumn ul { margin: 5px 0 15px -0em; From commitsmichaelbecker@example.org Thu Feb 11 05:29:37 2010 Return-Path: <commitsmichaelbecker@example.org> Delivered-To: michaelbecker@example.org Received: (qmail 5790 invoked from network); 11 Feb 2010 05:29:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 11 Feb 2010 05:29:37 -0000 Received: (qmail 12648 invoked by uid 500); 11 Feb 2010 05:29:37 -0000 Delivered-To: michaelbecker@example.org Received: (qmail 12582 invoked by uid 500); 11 Feb 2010 05:29:37 -0000 Mailing-List: contact michaelbecker@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelbecker@example.org> List-Unsubscribe: <mailto:michaelbecker@example.org> List-Post: <mailto:michaelbecker@example.org> List-Id: <commits.archiva.apache.org> Reply-To: michaelbecker@example.org Delivered-To: mailing list michaelbecker@example.org Received: (qmail 12573 invoked by uid 99); 11 Feb 2010 05:29:36 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Feb 2010 05:29:36 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Feb 2010 05:29:33 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 579C723888E2; Thu, 11 Feb 2010 05:29:12 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r908844 - in /archiva/branches/MRM-1025/archiva-modules: metadata/content-model.txt src/site/apt/index.apt src/site/apt/index.apt.vm src/site/apt/metadata.apt src/site/apt/repositories.apt src/site/apt/terminology.apt src/site/site.xml Date: Thu, 11 Feb 2010 05:29:12 -0000 To: michaelbecker@example.org From: michaelbecker@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelbecker@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: brett Date: Thu Feb 11 05:29:11 2010 New Revision: 908844 URL: http://svn.apache.org/viewvc?rev=908844&view=rev Log: start developer documentation for the branch Added: archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt.vm - copied, changed from r908811, archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt archiva/branches/MRM-1025/archiva-modules/src/site/apt/metadata.apt archiva/branches/MRM-1025/archiva-modules/src/site/apt/repositories.apt archiva/branches/MRM-1025/archiva-modules/src/site/apt/terminology.apt Removed: archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt Modified: archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt archiva/branches/MRM-1025/archiva-modules/src/site/site.xml Modified: archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt?rev=908844&r1=908843&r2=908844&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt (original) +++ archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt Thu Feb 11 05:29:11 2010 @@ -166,10 +166,6 @@ *) filename (scanner-1.0-20091120.012345-1.pom) is a node, and each is distinct except for checksums, etc. -*) the top level version (1.0-SNAPSHOT) is the version best used to describe the project (the "marketed version"). It - must still be unique for lookup and comparing project versions to each other, but can contain several different - "build" artifacts. - *) Projects are just a single code project. They do not have subprojects - if such modeling needs to be done, then we can create a products tree that will map what "Archiva 1.0" contains from the other repositories. Copied: archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt.vm (from r908811, archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt) URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt.vm?p2=archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt.vm&p1=archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt&r1=908811&r2=908844&rev=908844&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt (original) +++ archiva/branches/MRM-1025/archiva-modules/src/site/apt/index.apt.vm Thu Feb 11 05:29:11 2010 @@ -4,5 +4,72 @@ Archiva Developer's Documentation - These documents cover the architecture of Archiva and how to work with it. + These documents cover the architecture of Archiva and how to work with it. Information for users and plugin + developers can be found instead in the + {{{http://archiva.apache.org/docs/${project.version}/index.html} main Archiva documentation}}. + <Note:> This documentation is far from complete, and mostly covers new improvements relevant to developers as they + are made, and may not cover older topics such as the <<<archiva-model>>> or <<<archiva-repository-layer>>> libraries + that are still in use and particularly coupled to certain repository types and the web interfaces. + +* Overview + + Archiva is built as a layered application. It is intended to provide a platform for dealing with repositories of + varied types, and so is built as a series of modular libraries that aim to be able to be used independently (such as + embedded scenarios, from the CLI, or within the Archiva web application). + + Central to the redesign of Archiva is the concept of a metadata content repository. Archiva separates the physical + storage of a repository from the representation it works on, allowing it to store information about the repository + in an extensible format that any plugin can operate on or add to, without all subsystems needing to know about + each other. The metadata is not specific to any repository type - for instance, the Maven 2 portions can be + completely optional. More information on the {{{./metadata.html} metadata format}} and how it is persisted is + present in the section below. + + This structure allows metadata repositories to be physically separated from the repository they represent and + remotely updated. However, it is also possible to link the repository storage via the API so that the metadata can + operate "live" on a repository, detecting changes. This also allows plugins that wish to operate directly on a + repository (for example, Maven snapshot purging). + + Similarly, the resolution strategy for resources in the repository is abstracted from the storage and metadata to + allow multiple strategies. This facilitates features such as repository proxying, repository grouping, and on the + fly format conversion. These are described in the {{{./repositories.html} Repository API}} documents. + + On top of the metadata repository, components can be built to provide the services available in the application. + These are described as plugins, though at this time there is no formal plugin registration mechanism or interface - + they are loaded by the presence of the JAR in the application classpath, with the appropriate Spring or Plexus + manifest and implementation of a core interface that they can "plug in" to. At present, these plugins interact + either due to a user request (the repository resolution extension points), a distinct scheduled task, or as part of + a repository scanning operation (the Archiva 1.0+ 'consumer' mechanism). In the future, an event mechanism is + envisaged as the main means of triggering plugin operations, further decoupling them from the core interfaces. + Plugins generally interact directly with the metadata repository to retrieve information, or store their own. + + Some examples of current plugins are: + + * Maven 2 storage repository type + + * Repository statistics + + * File-based metadata content repository persistence + + [] + + Finally, we look to the web application layers. At present, there is a single web application that serves both a + WebDAV and Struts 2-based application, and operates directly on the metadata repository and some of the legacy + APIs. Future development plans to better decouple these from the underlying plugins and legacy APIs, to allow + applications to be much more componentised in their deployment. + +** How it Works + + * {{{./terminology.html} Terminology}} + + * {{{./metadata.html} Repository metadata}} + + * {{{./repositories.html} Repository APIs}} + +* More Information + + More information is available on the Archiva Wiki: + + * {{{http://cwiki.apache.org/confluence/display/ARCHIVA/Archiva+Developer+Notes} Developer Notes}} + + * {{{http://cwiki.apache.org/confluence/display/ARCHIVA/Conventions+and+Processes} Conventions and Processes}} Added: archiva/branches/MRM-1025/archiva-modules/src/site/apt/metadata.apt URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/src/site/apt/metadata.apt?rev=908844&view=auto ============================================================================== (empty) Added: archiva/branches/MRM-1025/archiva-modules/src/site/apt/repositories.apt URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/src/site/apt/repositories.apt?rev=908844&view=auto ============================================================================== (empty) Added: archiva/branches/MRM-1025/archiva-modules/src/site/apt/terminology.apt URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/src/site/apt/terminology.apt?rev=908844&view=auto ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/src/site/apt/terminology.apt (added) +++ archiva/branches/MRM-1025/archiva-modules/src/site/apt/terminology.apt Thu Feb 11 05:29:11 2010 @@ -0,0 +1,84 @@ + ---- + Terminology + ---- + +Terminology + + Archiva uses a lot of pieces of data that can have heavily overloaded meaning, so it is important to ensure the + terminology used is well defined and consistently used. The following section highlights the terms used in these + documents. + +* Repository + + Repository is the most overloaded term, but when used alone it will refer to the abstract concept of anything that + can act as a repository. For example, an on-disk Maven 2 repository, a remote proxied repository, or a repository + group that appears as a single repository. + + A repository is capable of storing a number of artifacts and their associated metadata. Each artifact is identified + by a number of elements: the repository itself, it's namespace, project, project version and artifact ID. Some + components are optional, depending on the repository type being discussed - for example each is mapped in a Maven 2 + repository, while for a flat file storage only the repository and artifact ID (file path and name) is needed. + +* Namespace + + A namespace is a hierarchical grouping for projects and artifacts, allowing project and artifact IDs to more easily + be made unique within their namespace and to assist in mapping between different repository types. + + In a Maven 2 repository, this maps to the group ID of an artifact. + +* Project + + A project is a simple grouping of artifacts that share a version in a repository. It does not contain subprojects. + + In a Maven 2 repository, this maps to the artifact ID of an artifact. Note that multi-module projects will actually + represent multiple projects by default, and additional grouping (other than achieved by the namespace) would need + to be done through additional metadata. + +* Project Version + + A project version is the version best used to describe the project (the "marketed version"). It must be unique for + lookup and comparing project versions to each other, but the artifact(s) it contains may still use a different + version. For example: + + * Archiva 1.4-SNAPSHOT may have artifacts <<<archiva-1.4-20090909.123456-1.jar>>> and + <<<archiva-1.4-20100201.345612-2.jar>>>. + + * Jetty 7.0.0 may have an artifact <<<jetty-7.0.0.v20091005.jar>>> + + In a Maven 2 repository, this maps to the (base) version of a project. + +* Artifact ID + + The artifact ID uniquely identifies an artifact within a given namespace, project and project version. For example, + <<<archiva-1.4-20100201.345612-2.jar>>> or <<<archiva-1.4-20100201.345612-2.pom>>>. + + In a Maven 2 repository, this maps to the filename within the repository, including both the Maven artifact ID, + artifact version, classifier and type/extension. Note that the POM and the classic artifact will be stored with + separate artifact IDs, but the repository implementation stores the common information for the whole project + version (and perhaps all project versions in some instances). + +* Metadata Repository + + The metadata repository is the metadata representation of a given repository, containing information about the + artifacts it contains, as well as other auxiliary information such as statistics, events, etc. + +* Metadata Content Repository + + The metadata content repository is how the information in a metadata repository is persisted. It is effectively the + same in appearance to the metadata repository. + +* Repository Resolver + + A resolver decides how to translate a request into a given set of metadata or an artifact retrieved from repository + storage. The default resolver first queries metadata, falling back to the repository storage if available if + necessary due to not being found or being out of date. It is possible that new resolvers can be introduced to also + check proxied repositories or to group multiple repositories. + +* Repository Storage + + A physical storage medium for a type of repository. This may be a file system in Maven 2 format, a URL pointing to + a repository in a certain format, a flat set of files, etc. It can be queried and modified to affect the canonical + set of artifacts. + + + Modified: archiva/branches/MRM-1025/archiva-modules/src/site/site.xml URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/src/site/site.xml?rev=908844&r1=908843&r2=908844&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/src/site/site.xml (original) +++ archiva/branches/MRM-1025/archiva-modules/src/site/site.xml Thu Feb 11 05:29:11 2010 @@ -32,7 +32,10 @@ </breadcrumbs> <menu name="Developers"> - <item name="About" href="/index.html" /> + <item name="Overview" href="/index.html" /> + <item name="Terminology" href="/terminology.html" /> + <item name="Metadata" href="/metadata.html" /> + <item name="Repositories" href="/repositories.html" /> </menu> <menu ref="modules" /> </body> From commitsmichaelbecker@example.org Thu Feb 11 10:35:30 2010 Return-Path: <commitsmichaelbecker@example.org> Delivered-To: michaelbecker@example.org Received: (qmail 97611 invoked from network); 11 Feb 2010 10:35:30 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 11 Feb 2010 10:35:30 -0000 Received: (qmail 86354 invoked by uid 500); 11 Feb 2010 10:35:30 -0000 Delivered-To: michaelbecker@example.org Received: (qmail 86293 invoked by uid 500); 11 Feb 2010 10:35:29 -0000 Mailing-List: contact michaelbecker@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelbecker@example.org> List-Unsubscribe: <mailto:michaelbecker@example.org> List-Post: <mailto:michaelbecker@example.org> List-Id: <commits.archiva.apache.org> Reply-To: michaelbecker@example.org Delivered-To: mailing list michaelbecker@example.org Received: (qmail 86280 invoked by uid 99); 11 Feb 2010 10:35:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Feb 2010 10:35:29 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Feb 2010 10:35:20 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 4D1DB23889DE; Thu, 11 Feb 2010 10:35:00 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r908914 - in /archiva/branches/MRM-1025/archiva-modules: metadata/content-model.txt src/site/apt/metadata.apt Date: Thu, 11 Feb 2010 10:35:00 -0000 To: michaelbecker@example.org From: michaelbecker@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelbecker@example.org> Author: brett Date: Thu Feb 11 10:34:59 2010 New Revision: 908914 URL: http://svn.apache.org/viewvc?rev=908914&view=rev Log: migrate metadata documentation Modified: archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt archiva/branches/MRM-1025/archiva-modules/src/site/apt/metadata.apt Modified: archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt?rev=908914&r1=908913&r2=908914&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt (original) +++ archiva/branches/MRM-1025/archiva-modules/metadata/content-model.txt Thu Feb 11 10:34:59 2010 @@ -1,170 +1,6 @@ -The following is the intended content model for the metadata content repository: - -. -`-- repositories/ - `-- central/ - |-- config/ - | |-- name= - | |-- storageUrl= - | `-- uri= - |-- content/ - | `-- org/ - | `-- apache/ - | |-- archiva/ - | | `-- platform/ - | | |-- scanner/ - | | | |-- 1.0-SNAPSHOT/ - | | | | |-- scanner-1.0-20091120.012345-1.pom/ - | | | | | |-- asc= - | | | | | |-- created= - | | | | | |-- fileCreated= - | | | | | |-- fileLastModified= - | | | | | |-- maven:buildNumber= - | | | | | |-- maven:classifier - | | | | | |-- maven:timestamp= - | | | | | |-- maven:type= - | | | | | |-- md5= - | | | | | |-- sha1= - | | | | | |-- size= - | | | | | |-- updated= - | | | | | `-- version= - | | | | |-- ciManagement.system= - | | | | |-- ciManagement.url= - | | | | |-- created= - | | | | |-- dependencies.0.artifactId= - | | | | |-- dependencies.0.classifier= - | | | | |-- dependencies.0.groupId= - | | | | |-- dependencies.0.optional= - | | | | |-- dependencies.0.scope= - | | | | |-- dependencies.0.systemPath= - | | | | |-- dependencies.0.type= - | | | | |-- dependencies.0.version= - | | | | |-- description= - | | | | |-- individuals.0.email= - | | | | |-- individuals.0.name= - | | | | |-- individuals.0.properties.scmId= - | | | | |-- individuals.0.roles.0= - | | | | |-- individuals.0.timezone= - | | | | |-- issueManagement.system= - | | | | |-- issueManagement.url= - | | | | |-- licenses.0.name= - | | | | |-- licenses.0.url= - | | | | |-- mailingLists.0.mainArchiveUrl= - | | | | |-- mailingLists.0.name= - | | | | |-- mailingLists.0.otherArchives.0= - | | | | |-- mailingLists.0.postAddress= - | | | | |-- mailingLists.0.subscribeAddress= - | | | | |-- mailingLists.0.unsubscribeAddress= - | | | | |-- maven:buildExtensions.0.artifactId= - | | | | |-- maven:buildExtensions.0.groupId= - | | | | |-- maven:buildExtensions.0.version= - | | | | |-- maven:packaging= - | | | | |-- maven:parent.artifactId= - | | | | |-- maven:parent.groupId= - | | | | |-- maven:parent.version= - | | | | |-- maven:plugins.0.artifactId= - | | | | |-- maven:plugins.0.groupId= - | | | | |-- maven:plugins.0.reporting= - | | | | |-- maven:plugins.0.version= - | | | | |-- maven:properties.mavenVersion= - | | | | |-- maven:repositories.0.id= - | | | | |-- maven:repositories.0.layout= - | | | | |-- maven:repositories.0.name= - | | | | |-- maven:repositories.0.plugins= - | | | | |-- maven:repositories.0.releases= - | | | | |-- maven:repositories.0.snapshots= - | | | | |-- maven:repositories.0.url= - | | | | |-- name= - | | | | |-- organization.favicon= - | | | | |-- organization.logo= - | | | | |-- organization.name= - | | | | |-- organization.url= - | | | | |-- relocatedTo.namespace= - | | | | |-- relocatedTo.project= - | | | | |-- relocatedTo.projectVersion= - | | | | |-- scm.connection= - | | | | |-- scm.developerConnection= - | | | | |-- scm.url= - | | | | |-- updated= - | | | | `-- url= - | | | `-- maven:artifactId= - | | `-- maven:groupId= - | `-- maven/ - | `-- plugins/ - | |-- maven:groupId= - | |-- maven:plugins.compiler.artifactId= - | `-- maven:plugins.compiler.name= - |-- facets/ - | |-- org.apache.archiva.audit/ - | | `-- 2010/ - | | `-- 01/ - | | `-- 19/ - | | `-- 093600.000/ - | | |-- action= - | | |-- artifact.id= - | | |-- artifact.namespace= - | | |-- artifact.projectId= - | | |-- artifact.version= - | | |-- remoteIP= - | | `-- user= - | |-- org.apache.archiva.metadata.repository.stats/ - | | `-- 2009/ - | | `-- 12/ - | | `-- 03/ - | | `-- 090000.000/ - | | |-- scanEndTime= - | | |-- scanStartTime= - | | |-- totalArtifactCount= - | | |-- totalArtifactFileSize= - | | |-- totalFileCount= - | | |-- totalGroupCount= - | | `-- totalProjectCount= - | `-- org.apache.archiva.reports/ - `-- references/ - `-- org/ - `-- apache/ - `-- archiva/ - |-- parent/ - | `-- 1/ - | `-- references/ - | `-- org/ - | `-- apache/ - | `-- archiva/ - | |-- platform/ - | | `-- scanner/ - | | `-- 1.0-SNAPSHOT/ - | | `-- referenceType=parent - | `-- web/ - | `-- webapp/ - | `-- 1.0-SNAPSHOT/ - | `-- referenceType=parent - `-- platform/ - `-- scanner/ - `-- 1.0-SNAPSHOT/ - `-- references/ - `-- org/ - `-- apache/ - `-- archiva/ - `-- web/ - `-- webapp/ - `-- 1.0-SNAPSHOT/ - `-- referenceType=dependency - -(To update - run "tree --dirsfirst -F" on the unpacked content-model.zip from the sandbox) - -Notes: - -*) config should be reflected to an external configuration file and only stored in the content repository for purposes +*) config not currently used should be reflected to an external configuration file and only stored in the content repository for purposes of accessing through a REST API, for example -*) In the above example, we have the following coordinates: - - namespace = org.apache.archiva.platform (namespaces are of arbitrary depth, and are project namespaces, not to be - confused with JCR's item/node namespaces) - - project = scanner - - version = 1.0-SNAPSHOT - - artifact = scanner-1.0-20091120.012345-1.pom - -*) filename (scanner-1.0-20091120.012345-1.pom) is a node, and each is distinct except for checksums, etc. *) Projects are just a single code project. They do not have subprojects - if such modeling needs to be done, then we can create a products tree that will map what "Archiva 1.0" contains from the other repositories. Modified: archiva/branches/MRM-1025/archiva-modules/src/site/apt/metadata.apt URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/src/site/apt/metadata.apt?rev=908914&r1=908913&r2=908914&view=diff ============================================================================== --- archiva/branches/MRM-1025/archiva-modules/src/site/apt/metadata.apt (original) +++ archiva/branches/MRM-1025/archiva-modules/src/site/apt/metadata.apt Thu Feb 11 10:34:59 2010 @@ -0,0 +1,269 @@ + ---- + Metadata Repository + ---- + +Metadata Repository + + The metadata repository stores all known information about a repository in a common format that other plugins can + understand, and that eventually external applications will be able to query. + + Dealing with metadata repositories covers two aspects: the content model, and the content repository access API + (and persistence). + +* Content Model + + The following is a sample tree that represents the content model: + +---- +. +`-- repositories/ + `-- central/ + |-- config/ + | |-- name= + | |-- storageUrl= + | `-- uri= + |-- content/ + | `-- org/ + | `-- apache/ + | |-- archiva/ + | | `-- platform/ + | | |-- scanner/ + | | | |-- 1.0-SNAPSHOT/ + | | | | |-- scanner-1.0-20091120.012345-1.pom/ + | | | | | |-- asc= + | | | | | |-- created= + | | | | | |-- fileCreated= + | | | | | |-- fileLastModified= + | | | | | |-- maven:buildNumber= + | | | | | |-- maven:classifier + | | | | | |-- maven:timestamp= + | | | | | |-- maven:type= + | | | | | |-- md5= + | | | | | |-- sha1= + | | | | | |-- size= + | | | | | |-- updated= + | | | | | `-- version= + | | | | |-- ciManagement.system= + | | | | |-- ciManagement.url= + | | | | |-- created= + | | | | |-- dependencies.0.artifactId= + | | | | |-- dependencies.0.classifier= + | | | | |-- dependencies.0.groupId= + | | | | |-- dependencies.0.optional= + | | | | |-- dependencies.0.scope= + | | | | |-- dependencies.0.systemPath= + | | | | |-- dependencies.0.type= + | | | | |-- dependencies.0.version= + | | | | |-- description= + | | | | |-- individuals.0.email= + | | | | |-- individuals.0.name= + | | | | |-- individuals.0.properties.scmId= + | | | | |-- individuals.0.roles.0= + | | | | |-- individuals.0.timezone= + | | | | |-- issueManagement.system= + | | | | |-- issueManagement.url= + | | | | |-- licenses.0.name= + | | | | |-- licenses.0.url= + | | | | |-- mailingLists.0.mainArchiveUrl= + | | | | |-- mailingLists.0.name= + | | | | |-- mailingLists.0.otherArchives.0= + | | | | |-- mailingLists.0.postAddress= + | | | | |-- mailingLists.0.subscribeAddress= + | | | | |-- mailingLists.0.unsubscribeAddress= + | | | | |-- maven:buildExtensions.0.artifactId= + | | | | |-- maven:buildExtensions.0.groupId= + | | | | |-- maven:buildExtensions.0.version= + | | | | |-- maven:packaging= + | | | | |-- maven:parent.artifactId= + | | | | |-- maven:parent.groupId= + | | | | |-- maven:parent.version= + | | | | |-- maven:plugins.0.artifactId= + | | | | |-- maven:plugins.0.groupId= + | | | | |-- maven:plugins.0.reporting= + | | | | |-- maven:plugins.0.version= + | | | | |-- maven:properties.mavenVersion= + | | | | |-- maven:repositories.0.id= + | | | | |-- maven:repositories.0.layout= + | | | | |-- maven:repositories.0.name= + | | | | |-- maven:repositories.0.plugins= + | | | | |-- maven:repositories.0.releases= + | | | | |-- maven:repositories.0.snapshots= + | | | | |-- maven:repositories.0.url= + | | | | |-- name= + | | | | |-- organization.favicon= + | | | | |-- organization.logo= + | | | | |-- organization.name= + | | | | |-- organization.url= + | | | | |-- relocatedTo.namespace= + | | | | |-- relocatedTo.project= + | | | | |-- relocatedTo.projectVersion= + | | | | |-- scm.connection= + | | | | |-- scm.developerConnection= + | | | | |-- scm.url= + | | | | |-- updated= + | | | | `-- url= + | | | `-- maven:artifactId= + | | `-- maven:groupId= + | `-- maven/ + | `-- plugins/ + | |-- maven:groupId= + | |-- maven:plugins.compiler.artifactId= + | `-- maven:plugins.compiler.name= + |-- facets/ + | |-- org.apache.archiva.audit/ + | | `-- 2010/ + | | `-- 01/ + | | `-- 19/ + | | `-- 093600.000/ + | | |-- action= + | | |-- artifact.id= + | | |-- artifact.namespace= + | | |-- artifact.projectId= + | | |-- artifact.version= + | | |-- remoteIP= + | | `-- user= + | |-- org.apache.archiva.metadata.repository.stats/ + | | `-- 2009/ + | | `-- 12/ + | | `-- 03/ + | | `-- 090000.000/ + | | |-- scanEndTime= + | | |-- scanStartTime= + | | |-- totalArtifactCount= + | | |-- totalArtifactFileSize= + | | |-- totalFileCount= + | | |-- totalGroupCount= + | | `-- totalProjectCount= + | `-- org.apache.archiva.reports/ + `-- references/ + `-- org/ + `-- apache/ + `-- archiva/ + |-- parent/ + | `-- 1/ + | `-- references/ + | `-- org/ + | `-- apache/ + | `-- archiva/ + | |-- platform/ + | | `-- scanner/ + | | `-- 1.0-SNAPSHOT/ + | | `-- referenceType=parent + | `-- web/ + | `-- webapp/ + | `-- 1.0-SNAPSHOT/ + | `-- referenceType=parent + `-- platform/ + `-- scanner/ + `-- 1.0-SNAPSHOT/ + `-- references/ + `-- org/ + `-- apache/ + `-- archiva/ + `-- web/ + `-- webapp/ + `-- 1.0-SNAPSHOT/ + `-- referenceType=dependency +---- + + ~~ To update - run "tree --dirsfirst -F" on the unpacked content-model.zip from the sandbox + + This uses a typical content repository structure, where there is a path to a particular node (the last paths in + the structure above), and nodes can have properties and values (shown as <<<property=value>>> above). + + <Note:> Some of the properties have been put in place temporarily but need to be revisited - for example the use + of index counters for the lists of Maven POM information are not ideal. + + The following sections walk through parts of the tree. + +** Configuration section + + ... + +** Content section + + The content section houses the information directly about the artifacts in the repository. As described in the + {{{./terminology.html} Terminology}} document, artifacts are described by the following coordinates (with the values + shown from the example above): + + * Namespace (<<<org.apache.archiva.platform>>>) - namespaces are of arbitrary depth, and are project namespaces, + not to be confused with JCR's item/node namespaces + + * Project ID (<<<scanner>>>) + + * Project version (<<<1.0-SNAPSHOT>>>) + + * Artifact ID (<<<scanner-1.0-20091120.012345-1.pom>>>) + + [] + + Each artifact in the repository will contain an entry, though not necessarily every file. For example, in a Maven + repository it is known that the <<<.md5>>>, <<<.sha1>>> and <<<.asc>>> files represent metadata about the artifact + of the same name, so that is attached to that node instead. + + Metadata is stored at the level most appropriate to that piece of information. This means that in a Maven + repository, while both the POM and other artifact(s) are considered be separate artifacts, they all share the + information in the POM that is stored at the project version or even project level. + + The following describes some of the metadata at each level. Note that the Maven extensions are covered here - these + are optional, and
{'source': 'Apache Software Foundation Public Mail Archives'}