Author: olamy
Date: Thu Sep 15 10:44:52 2011
New Revision: 1171043
URL: http://svn.apache.org/viewvc?rev=1171043&view=rev
Log:
fix index optimize default index location
optimize io in search rest service unit test
Modified:
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/SearchServiceTest.java
Modified:
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java?rev=1171043&r1=1171042&r2=1171043&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java
(original)
+++
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/main/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutor.java
Thu Sep 15 10:44:52 2011
@@ -24,9 +24,9 @@ import org.apache.archiva.admin.model.ma
import org.apache.archiva.common.plexusbridge.MavenIndexerUtils;
import org.apache.archiva.common.plexusbridge.PlexusSisuBridge;
import org.apache.archiva.common.plexusbridge.PlexusSisuBridgeException;
+import org.apache.commons.lang.StringUtils;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
-import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
import org.apache.maven.index.ArtifactContext;
import org.apache.maven.index.ArtifactContextProducer;
import org.apache.maven.index.DefaultArtifactContextProducer;
@@ -58,7 +58,6 @@ import java.util.List;
* ArchivaIndexingTaskExecutor Executes all indexing tasks. Adding, updating
and removing artifacts from the index are
* all performed by this executor. Add and update artifact in index tasks are
added in the indexing task queue by the
* NexusIndexerConsumer while remove artifact from index tasks are added by
the LuceneCleanupRemoveIndexedConsumer.
- *
*/
@Service( "taskExecutor#indexing" )
public class ArchivaIndexingTaskExecutor
@@ -239,9 +238,11 @@ public class ArchivaIndexingTaskExecutor
context.optimize();
-
File managedRepository = new File( repository.getLocation() );
- final File indexLocation = new File( managedRepository, ".index" );
+ String indexDirectory = repository.getIndexDirectory();
+ final File indexLocation = StringUtils.isBlank( indexDirectory )
+ ? new File( managedRepository, ".indexer" )
+ : new File( indexDirectory );
IndexPackingRequest request = new IndexPackingRequest( context,
indexLocation );
indexPacker.packIndex( request );
Modified:
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java?rev=1171043&r1=1171042&r2=1171043&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-scheduler/archiva-scheduler-indexing/src/test/java/org/apache/archiva/scheduler/indexing/ArchivaIndexingTaskExecutorTest.java
Thu Sep 15 10:44:52 2011
@@ -253,7 +253,7 @@ public class ArchivaIndexingTaskExecutor
Occur.SHOULD );
assertTrue( new File( repositoryConfig.getLocation(), ".indexer"
).exists() );
- assertTrue( new File( repositoryConfig.getLocation(), ".index"
).exists() );
+ assertFalse( new File( repositoryConfig.getLocation(), ".index"
).exists() );
flatSearchRequest = new FlatSearchRequest( q, getIndexingContext() );
@@ -286,11 +286,10 @@ public class ArchivaIndexingTaskExecutor
indexingExecutor.executeTask( task );
assertTrue( new File( repositoryConfig.getLocation(), ".indexer"
).exists() );
- assertTrue( new File( repositoryConfig.getLocation(), ".index"
).exists() );
// unpack .zip index
- File destDir = new File( repositoryConfig.getLocation(), ".index/tmp"
);
- unzipIndex( new File( repositoryConfig.getLocation(), ".index"
).getPath(), destDir.getPath() );
+ File destDir = new File( repositoryConfig.getLocation(),
".indexer/tmp" );
+ unzipIndex( new File( repositoryConfig.getLocation(), ".indexer"
).getPath(), destDir.getPath() );
BooleanQuery q = new BooleanQuery();
q.add( indexer.constructQuery( MAVEN.GROUP_ID, new
StringSearchExpression( "org.apache.archiva" ) ),
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml?rev=1171043&r1=1171042&r2=1171043&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml
Thu Sep 15 10:44:52 2011
@@ -248,7 +248,6 @@
<systemPropertyVariables>
<plexus.home>${project.build.outputDirectory}</plexus.home>
<appserver.base>${basedir}/target/appserver-base</appserver.base>
- <targetDir>${basedir}/target/</targetDir>
</systemPropertyVariables>
</configuration>
</plugin>
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/SearchServiceTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/SearchServiceTest.java?rev=1171043&r1=1171042&r2=1171043&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/SearchServiceTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/SearchServiceTest.java
Thu Sep 15 10:44:52 2011
@@ -23,7 +23,6 @@ import org.apache.archiva.rest.api.model
import org.apache.archiva.rest.api.model.SearchRequest;
import org.apache.archiva.rest.api.services.ManagedRepositoriesService;
import org.apache.archiva.rest.api.services.SearchService;
-import org.apache.commons.io.FileUtils;
import org.junit.Test;
import java.io.File;
@@ -146,7 +145,6 @@ public class SearchServiceTest
assertTrue(
" not 1 results for Bundle Symbolic Name
org.apache.karaf.features.command but " + artifacts.size() + ":"
+ artifacts, artifacts.size() == 1 );
- log.info( "artifacts for commons-logging size {} search {}",
artifacts.size(), artifacts );
deleteTestRepo( testRepoId, targetRepo );
}
@@ -176,7 +174,34 @@ public class SearchServiceTest
assertTrue(
" not 2 results for Bundle Symbolic Name
org.apache.karaf.features.core but " + artifacts.size() + ":"
+ artifacts, artifacts.size() == 2 );
- log.info( "artifacts for commons-logging size {} search {}",
artifacts.size(), artifacts );
+
+ deleteTestRepo( testRepoId, targetRepo );
+ }
+
+ @Test
+ public void searchWithSearchRequestExportPackageOneVersion()
+ throws Exception
+ {
+
+ String testRepoId = "test-repo";
+ // force guest user creation if not exists
+ if ( getUserService( authorizationHeader ).getGuestUser() == null )
+ {
+ assertNotNull( getUserService( authorizationHeader
).createGuestUser() );
+ }
+
+ File targetRepo = createAndIndexRepo( testRepoId );
+
+ SearchService searchService = getSearchService( authorizationHeader );
+
+ SearchRequest searchRequest = new SearchRequest();
+ searchRequest.setBundleExportPackage(
"org.apache.karaf.features.command.completers" );
+
+ List<Artifact> artifacts = searchService.searchArtifacts(
searchRequest );
+
+ assertNotNull( artifacts );
+ assertTrue( " not 1 results for Bundle ExportPackage
org.apache.karaf.features.command.completers but "
+ + artifacts.size() + ":" + artifacts, artifacts.size()
== 1 );
deleteTestRepo( testRepoId, targetRepo );
}
@@ -188,19 +213,14 @@ public class SearchServiceTest
{
getManagedRepositoriesService( authorizationHeader
).deleteManagedRepository( testRepoId, true );
}
- File targetRepo = new File( System.getProperty( "targetDir",
"./target" ), "test-repo" );
- cleanupFiles( targetRepo );
-
- File sourceRepo = new File( "src/test/repo-with-osgi" );
-
- FileUtils.copyDirectory( sourceRepo, targetRepo );
+ File targetRepo = new File( "src/test/repo-with-osgi" );
ManagedRepository managedRepository = new ManagedRepository();
managedRepository.setId( testRepoId );
managedRepository.setName( "test repo" );
managedRepository.setLocation( targetRepo.getPath() );
- managedRepository.setIndexDirectory( targetRepo.getPath() + "/index-"
+ Long.toString( new Date().getTime() ) );
+ managedRepository.setIndexDirectory( "target/.index-" + Long.toString(
new Date().getTime() ) );
ManagedRepositoriesService service = getManagedRepositoriesService(
authorizationHeader );
service.addManagedRepository( managedRepository );
@@ -215,38 +235,11 @@ public class SearchServiceTest
{
if ( getManagedRepositoriesService( authorizationHeader
).getManagedRepository( id ) != null )
{
- getManagedRepositoriesService( authorizationHeader
).deleteManagedRepository( id, true );
+ getManagedRepositoriesService( authorizationHeader
).deleteManagedRepository( id, false );
}
- cleanupFiles( targetRepo );
}
- private void cleanupFiles( File targetRepo )
- throws Exception
- {
-
- File indexerDir = new File( targetRepo, ".indexer" );
-
- if ( targetRepo.exists() )
- {
- FileUtils.deleteDirectory( targetRepo );
- }
-
- if ( indexerDir.exists() )
- {
- FileUtils.deleteDirectory( indexerDir );
- }
-
- File lockFile = new File( indexerDir, "write.lock" );
- if ( lockFile.exists() )
- {
- FileUtils.forceDelete( lockFile );
- }
-
- assertFalse( targetRepo.exists() );
- assertFalse( indexerDir.exists() );
- assertFalse( lockFile.exists() );
- }
}