You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2007/03/16 23:45:41 UTC

svn commit: r519169 [2/2] - in /maven/archiva/branches/archiva-jpox-database-refactor: ./ archiva-common/src/main/java/org/apache/maven/archiva/common/utils/ archiva-common/src/test/java/org/apache/maven/archiva/common/utils/ archiva-consumer-api/src/m...

Added: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/CentralScannerTiming.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/CentralScannerTiming.java?view=auto&rev=519169
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/CentralScannerTiming.java (added)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/CentralScannerTiming.java Fri Mar 16 15:45:38 2007
@@ -0,0 +1,132 @@
+package org.apache.maven.archiva.repository.scanner;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.archiva.common.utils.BaseFile;
+import org.apache.maven.archiva.common.utils.DateUtil;
+import org.apache.maven.archiva.model.RepositoryContentStatistics;
+import org.apache.maven.archiva.repository.ArchivaRepository;
+import org.apache.maven.archiva.repository.RepositoryException;
+import org.apache.maven.archiva.repository.consumer.Consumer;
+import org.apache.maven.archiva.repository.consumer.ConsumerException;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * CentralScannerTiming 
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class CentralScannerTiming
+{
+    public static void main( String[] args )
+    {
+        String pathToCentral = "/home/repo1/ibiblio";
+
+        ( new CentralScannerTiming() ).scanIt( pathToCentral );
+    }
+
+    public void scanIt( String path )
+    {
+        ArchivaRepository centralRepo = new ArchivaRepository( "central", "Central Mirror", "file://" + path );
+
+        RepositoryScanner scanner = new RepositoryScanner();
+
+        List consumerList = new ArrayList();
+        BasicConsumer consumer = new BasicConsumer();
+        consumerList.add( consumer );
+
+        try
+        {
+            RepositoryContentStatistics stats = scanner.scan( centralRepo, consumerList, true );
+
+            SimpleDateFormat df = new SimpleDateFormat();
+            System.out.println( "-------" );
+            System.out.println( "  Repository ID   : " + stats.getRepositoryId() );
+            System.out.println( "  Duration        : " + DateUtil.getDuration( stats.getDuration() ) );
+            System.out.println( "  When Gathered   : " + df.format( stats.getWhenGathered() ) );
+            System.out.println( "  Total File Count: " + stats.getTotalFileCount() );
+            System.out.println( "  New File Count  : " + stats.getNewFileCount() );
+        }
+        catch ( RepositoryException e )
+        {
+            e.printStackTrace( System.err );
+        }
+    }
+
+    class BasicConsumer implements Consumer
+    {
+        int count = 0;
+
+        public List getExcludePatterns()
+        {
+            return Collections.EMPTY_LIST;
+        }
+
+        public List getIncludePatterns()
+        {
+            List includes = new ArrayList();
+            includes.add( "**/*.pom" );
+            includes.add( "**/*.jar" );
+            includes.add( "**/*.war" );
+            includes.add( "**/*.ear" );
+            includes.add( "**/*.sar" );
+            includes.add( "**/*.car" );
+            includes.add( "**/*.mar" );
+//            includes.add( "**/*.sha1" );
+//            includes.add( "**/*.md5" );
+//            includes.add( "**/*.asc" );
+            includes.add( "**/*.dtd" );
+            includes.add( "**/*.tld" );
+            includes.add( "**/*.gz" );
+            includes.add( "**/*.bz2" );
+            includes.add( "**/*.zip" );
+            return includes;
+        }
+
+        public String getName()
+        {
+            return "Basic No-op Consumer";
+        }
+
+        public boolean init( ArchivaRepository repository )
+        {
+            return true;
+        }
+
+        public void processFile( BaseFile file ) throws ConsumerException
+        {
+            count++;
+            if ( ( count % 1000 ) == 0 )
+            {
+                System.out.println( "Files Processed: " + count );
+            }
+        }
+
+        public void processFileProblem( BaseFile file, String message )
+        {
+            /* no-op */
+        }
+    }
+}

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/CentralScannerTiming.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/CentralScannerTiming.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/CentralScannerTiming.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryScannerTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryScannerTest.java?view=auto&rev=519169
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryScannerTest.java (added)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryScannerTest.java Fri Mar 16 15:45:38 2007
@@ -0,0 +1,70 @@
+package org.apache.maven.archiva.repository.scanner;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.model.RepositoryContentStatistics;
+import org.apache.maven.archiva.repository.ArchivaRepository;
+import org.apache.maven.archiva.repository.RepositoryException;
+import org.codehaus.plexus.PlexusTestCase;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * RepositoryScannerTest 
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class RepositoryScannerTest extends PlexusTestCase
+{
+    private ArchivaRepository createDefaultRepository()
+    {
+        File repoDir = new File( getBasedir(), "src/test/repositories/default-repository" );
+
+        assertTrue( "Default Test Repository should exist.", repoDir.exists() && repoDir.isDirectory() );
+
+        String repoUri = "file://" + StringUtils.replace( repoDir.getAbsolutePath(), "\\", "/" );
+
+        ArchivaRepository repo = new ArchivaRepository( "testDefaultRepo", "Test Default Repository", repoUri );
+
+        return repo;
+    }
+
+    public void testDefaultRepositoryScanner() throws RepositoryException
+    {
+        ArchivaRepository repository = createDefaultRepository();
+
+        List consumers = new ArrayList();
+        ScanConsumer consumer = new ScanConsumer();
+        consumers.add( consumer );
+
+        RepositoryScanner scanner = new RepositoryScanner();
+        boolean includeSnapshots = true;
+        RepositoryContentStatistics stats = scanner.scan( repository, consumers, includeSnapshots );
+
+        assertNotNull( "Stats should not be null.", stats );
+        assertEquals( "Stats.totalFileCount", 17, stats.getTotalFileCount() );
+        assertEquals( "Processed Count", 17, consumer.getProcessCount() );
+    }
+
+}

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryScannerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryScannerTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryScannerTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/ScanConsumer.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/ScanConsumer.java?view=auto&rev=519169
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/ScanConsumer.java (added)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/ScanConsumer.java Fri Mar 16 15:45:38 2007
@@ -0,0 +1,82 @@
+package org.apache.maven.archiva.repository.scanner;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.archiva.common.utils.BaseFile;
+import org.apache.maven.archiva.repository.ArchivaRepository;
+import org.apache.maven.archiva.repository.consumer.Consumer;
+import org.apache.maven.archiva.repository.consumer.ConsumerException;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * ScanConsumer 
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class ScanConsumer implements Consumer
+{
+    private int processCount = 0;
+
+    public List getExcludePatterns()
+    {
+        return Collections.EMPTY_LIST;
+    }
+
+    public List getIncludePatterns()
+    {
+        List includes = new ArrayList();
+        includes.add( "**/*.jar" );
+        return includes;
+    }
+
+    public String getName()
+    {
+        return "Scan Consumer";
+    }
+
+    public boolean init( ArchivaRepository repository )
+    {
+        return true;
+    }
+
+    public void processFile( BaseFile file ) throws ConsumerException
+    {
+        this.processCount++;
+    }
+
+    public void processFileProblem( BaseFile file, String message )
+    {
+        /* do nothing */
+    }
+
+    public int getProcessCount()
+    {
+        return processCount;
+    }
+
+    public void setProcessCount( int processCount )
+    {
+        this.processCount = processCount;
+    }
+}

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/ScanConsumer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/ScanConsumer.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/ScanConsumer.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/resources/log4j.xml
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/resources/log4j.xml?view=auto&rev=519169
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/resources/log4j.xml (added)
+++ maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/resources/log4j.xml Fri Mar 16 15:45:38 2007
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+  <appender name="console" class="org.apache.log4j.ConsoleAppender">
+    <param name="Target" value="System.out"/>
+    <layout class="org.apache.log4j.PatternLayout">
+      <param name="ConversionPattern" value="%d [%t] %-5p %-30c{1} - %m%n"/>
+    </layout>
+  </appender>
+
+  <!-- Help identify bugs during testing -->
+  <logger name="org.apache.maven">
+    <level value="info"/>
+  </logger>
+
+  <logger name="org.codehaus.plexus.security">
+    <level value="info"/>
+  </logger>
+
+  <!-- squelch noisy objects (for now) -->
+  <logger name="org.codehaus.plexus.mailsender.MailSender">
+    <level value="info"/>
+  </logger>
+
+  <logger name="org.codehaus.plexus.PlexusContainer">
+    <level value="info"/>
+  </logger>
+
+  <logger name="org.codehaus.plexus.component.manager.ClassicSingletonComponentManager">
+    <level value="error"/>
+  </logger>
+
+  <root>
+    <priority value ="warn" />
+    <appender-ref ref="console" />
+  </root>
+
+</log4j:configuration>

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/resources/log4j.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/resources/log4j.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: maven/archiva/branches/archiva-jpox-database-refactor/archiva-repository-layer/src/test/resources/log4j.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: maven/archiva/branches/archiva-jpox-database-refactor/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/pom.xml?view=diff&rev=519169&r1=519168&r2=519169
==============================================================================
--- maven/archiva/branches/archiva-jpox-database-refactor/pom.xml (original)
+++ maven/archiva/branches/archiva-jpox-database-refactor/pom.xml Fri Mar 16 15:45:38 2007
@@ -121,7 +121,6 @@
     <module>archiva-applet</module>
     <module>archiva-converter</module>
     <module>archiva-common</module>
-    <module>archiva-discoverer</module>
     <module>archiva-reports-standard</module>
     <module>archiva-indexer</module>
     <module>archiva-webapp</module>