package org.carlspring.strongbox.services.impl; import org.carlspring.strongbox.artifact.locator.ArtifactDirectoryLocator; import org.carlspring.strongbox.artifact.locator.handlers.ArtifactLocationGenerateChecksumOperation; import org.carlspring.strongbox.configuration.Configuration; import org.carlspring.strongbox.configuration.ConfigurationManager; import org.carlspring.strongbox.providers.layout.LayoutProviderRegistry; import org.carlspring.strongbox.services.ChecksumService; import org.carlspring.strongbox.storage.Storage; import org.carlspring.strongbox.storage.repository.Repository; import javax.inject.Inject; import java.io.IOException; import org.springframework.stereotype.Component; /** * @author Kate Novik. */ @Component public class ChecksumServiceImpl implements ChecksumService { @Inject private ConfigurationManager configurationManager; @Inject private LayoutProviderRegistry layoutProviderRegistry; @Override public void regenerateChecksum(String storageId, String repositoryId, String basePath, boolean forceRegeneration) throws IOException { Storage storage = getConfiguration().getStorage(storageId); Repository repository = storage.getRepository(repositoryId); ArtifactLocationGenerateChecksumOperation operation = new ArtifactLocationGenerateChecksumOperation(layoutProviderRegistry); operation.setStorage(storage); operation.setRepository(repository); operation.setBasePath(basePath); operation.setForceRegeneration(forceRegeneration); ArtifactDirectoryLocator locator = new ArtifactDirectoryLocator(); locator.setOperation(operation); locator.locateArtifactDirectories(); } @Override public Configuration getConfiguration() { return configurationManager.getConfiguration(); } }