extract inner classes

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1551474 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Olivier Lamy 2013-12-17 07:29:07 +00:00
parent af520c00cf
commit 3ac4f6e662
5 changed files with 138 additions and 87 deletions

View File

@ -76,8 +76,8 @@ public class DefaultMergedRemoteIndexesScheduler
new IndexMergerRequest( repositories, true, repositoryGroup.getId(), repositoryGroup.getMergedIndexPath(), new IndexMergerRequest( repositories, true, repositoryGroup.getId(), repositoryGroup.getMergedIndexPath(),
repositoryGroup.getMergedIndexTtl() ).mergedIndexDirectory( directory ); repositoryGroup.getMergedIndexTtl() ).mergedIndexDirectory( directory );
MergedRemoteIndexesTask.MergedRemoteIndexesTaskRequest taskRequest = MergedRemoteIndexesTaskRequest taskRequest =
new MergedRemoteIndexesTask.MergedRemoteIndexesTaskRequest( indexMergerRequest, indexMerger ); new MergedRemoteIndexesTaskRequest( indexMergerRequest, indexMerger );
ScheduledFuture scheduledFuture = ScheduledFuture scheduledFuture =
taskScheduler.schedule( new MergedRemoteIndexesTask( taskRequest ), cronTrigger ); taskScheduler.schedule( new MergedRemoteIndexesTask( taskRequest ), cronTrigger );

View File

@ -56,95 +56,14 @@ public class MergedRemoteIndexesTask
public MergedRemoteIndexesTaskResult execute() public MergedRemoteIndexesTaskResult execute()
throws IndexMergerException throws IndexMergerException
{ {
IndexMerger indexMerger = mergedRemoteIndexesTaskRequest.indexMerger; IndexMerger indexMerger = mergedRemoteIndexesTaskRequest.getIndexMerger();
IndexingContext indexingContext = IndexingContext indexingContext =
indexMerger.buildMergedIndex( mergedRemoteIndexesTaskRequest.indexMergerRequest ); indexMerger.buildMergedIndex( mergedRemoteIndexesTaskRequest.getIndexMergerRequest() );
return new MergedRemoteIndexesTaskResult( indexingContext ); return new MergedRemoteIndexesTaskResult( indexingContext );
} }
public static class MergedRemoteIndexesTaskRequest
{
private IndexMergerRequest indexMergerRequest;
private IndexMerger indexMerger;
public MergedRemoteIndexesTaskRequest( IndexMergerRequest indexMergerRequest, IndexMerger indexMerger )
{
this.indexMergerRequest = indexMergerRequest;
this.indexMerger = indexMerger;
}
public IndexMergerRequest getIndexMergerRequest()
{
return indexMergerRequest;
}
public void setIndexMergerRequest( IndexMergerRequest indexMergerRequest )
{
this.indexMergerRequest = indexMergerRequest;
}
public IndexMerger getIndexMerger()
{
return indexMerger;
}
public void setIndexMerger( IndexMerger indexMerger )
{
this.indexMerger = indexMerger;
}
@Override
public boolean equals( Object o )
{
if ( this == o )
{
return true;
}
if ( o == null || getClass() != o.getClass() )
{
return false;
}
MergedRemoteIndexesTaskRequest that = (MergedRemoteIndexesTaskRequest) o;
if ( !indexMergerRequest.equals( that.indexMergerRequest ) )
{
return false;
}
return true;
}
@Override
public int hashCode()
{
return indexMergerRequest.hashCode();
}
}
public static class MergedRemoteIndexesTaskResult
{
private IndexingContext indexingContext;
public MergedRemoteIndexesTaskResult( IndexingContext indexingContext )
{
this.indexingContext = indexingContext;
}
public IndexingContext getIndexingContext()
{
return indexingContext;
}
public void setIndexingContext( IndexingContext indexingContext )
{
this.indexingContext = indexingContext;
}
}
@Override @Override
public boolean equals( Object o ) public boolean equals( Object o )
{ {

View File

@ -0,0 +1,85 @@
package org.apache.archiva.indexer.merger;
/*
* 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.
*/
/**
* @author Olivier Lamy
* @since 2.0.0
*/
public class MergedRemoteIndexesTaskRequest
{
private IndexMergerRequest indexMergerRequest;
private IndexMerger indexMerger;
public MergedRemoteIndexesTaskRequest( IndexMergerRequest indexMergerRequest, IndexMerger indexMerger )
{
this.indexMergerRequest = indexMergerRequest;
this.indexMerger = indexMerger;
}
public IndexMergerRequest getIndexMergerRequest()
{
return indexMergerRequest;
}
public void setIndexMergerRequest( IndexMergerRequest indexMergerRequest )
{
this.indexMergerRequest = indexMergerRequest;
}
public IndexMerger getIndexMerger()
{
return indexMerger;
}
public void setIndexMerger( IndexMerger indexMerger )
{
this.indexMerger = indexMerger;
}
@Override
public boolean equals( Object o )
{
if ( this == o )
{
return true;
}
if ( o == null || getClass() != o.getClass() )
{
return false;
}
MergedRemoteIndexesTaskRequest that = (MergedRemoteIndexesTaskRequest) o;
if ( !indexMergerRequest.equals( that.indexMergerRequest ) )
{
return false;
}
return true;
}
@Override
public int hashCode()
{
return indexMergerRequest.hashCode();
}
}

View File

@ -0,0 +1,46 @@
package org.apache.archiva.indexer.merger;
/*
* 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.index.context.IndexingContext;
/**
* @author Olivier Lamy
* @since 2.0.0
*/
public class MergedRemoteIndexesTaskResult
{
private IndexingContext indexingContext;
public MergedRemoteIndexesTaskResult( IndexingContext indexingContext )
{
this.indexingContext = indexingContext;
}
public IndexingContext getIndexingContext()
{
return indexingContext;
}
public void setIndexingContext( IndexingContext indexingContext )
{
this.indexingContext = indexingContext;
}
}

View File

@ -39,6 +39,7 @@ import org.apache.archiva.indexer.merger.IndexMerger;
import org.apache.archiva.indexer.merger.IndexMergerException; import org.apache.archiva.indexer.merger.IndexMergerException;
import org.apache.archiva.indexer.merger.IndexMergerRequest; import org.apache.archiva.indexer.merger.IndexMergerRequest;
import org.apache.archiva.indexer.merger.MergedRemoteIndexesTask; import org.apache.archiva.indexer.merger.MergedRemoteIndexesTask;
import org.apache.archiva.indexer.merger.MergedRemoteIndexesTaskRequest;
import org.apache.archiva.indexer.merger.TemporaryGroupIndex; import org.apache.archiva.indexer.merger.TemporaryGroupIndex;
import org.apache.archiva.indexer.search.RepositorySearch; import org.apache.archiva.indexer.search.RepositorySearch;
import org.apache.archiva.maven2.metadata.MavenMetadataReader; import org.apache.archiva.maven2.metadata.MavenMetadataReader;
@ -1315,8 +1316,8 @@ public class ArchivaDavResourceFactory
repositoryGroupConfiguration.getMergedIndexPath(), repositoryGroupConfiguration.getMergedIndexPath(),
repositoryGroupConfiguration.getMergedIndexTtl() ).mergedIndexDirectory( tempRepoFile ); repositoryGroupConfiguration.getMergedIndexTtl() ).mergedIndexDirectory( tempRepoFile );
MergedRemoteIndexesTask.MergedRemoteIndexesTaskRequest taskRequest = MergedRemoteIndexesTaskRequest taskRequest =
new MergedRemoteIndexesTask.MergedRemoteIndexesTaskRequest(indexMergerRequest, indexMerger); new MergedRemoteIndexesTaskRequest(indexMergerRequest, indexMerger);
MergedRemoteIndexesTask job = new MergedRemoteIndexesTask( taskRequest ); MergedRemoteIndexesTask job = new MergedRemoteIndexesTask( taskRequest );