mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-13 00:45:44 +01:00
refactor
This commit is contained in:
@@ -14,7 +14,6 @@ import sonia.scm.user.xml.XmlUserDAO;
|
||||
import sonia.scm.version.Version;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.xml.bind.JAXBContext;
|
||||
import javax.xml.bind.JAXBException;
|
||||
|
||||
import static sonia.scm.version.Version.parse;
|
||||
@@ -42,9 +41,8 @@ public class PublicFlagUpdateStep implements UpdateStep {
|
||||
createNewAnonymousUserIfNotExists();
|
||||
deleteOldAnonymousUserIfAvailable();
|
||||
|
||||
JAXBContext jaxbContext = JAXBContext.newInstance(V1RepositoryHelper.V1RepositoryDatabase.class);
|
||||
LOG.info("Migrating public flags of repositories as RepositoryRolePermission 'READ' for user '_anonymous'");
|
||||
V1RepositoryHelper.readV1Database(jaxbContext, contextProvider, V1_REPOSITORY_BACKUP_FILENAME).ifPresent(
|
||||
V1RepositoryHelper.readV1Database(contextProvider, V1_REPOSITORY_BACKUP_FILENAME).ifPresent(
|
||||
this::addRepositoryReadPermissionForAnonymousUser
|
||||
);
|
||||
}
|
||||
|
||||
@@ -26,8 +26,9 @@ class V1RepositoryHelper {
|
||||
).toFile();
|
||||
}
|
||||
|
||||
static Optional<V1RepositoryDatabase> readV1Database(JAXBContext jaxbContext, SCMContextProvider contextProvider, String filename) throws JAXBException {
|
||||
Object unmarshal = jaxbContext.createUnmarshaller().unmarshal(resolveV1File(contextProvider,filename));
|
||||
static Optional<V1RepositoryDatabase> readV1Database(SCMContextProvider contextProvider, String filename) throws JAXBException {
|
||||
JAXBContext jaxbContext = JAXBContext.newInstance(V1RepositoryDatabase.class);
|
||||
Object unmarshal = jaxbContext.createUnmarshaller().unmarshal(resolveV1File(contextProvider, filename));
|
||||
if (unmarshal instanceof V1RepositoryHelper.V1RepositoryDatabase) {
|
||||
return of((V1RepositoryHelper.V1RepositoryDatabase) unmarshal);
|
||||
} else {
|
||||
|
||||
@@ -17,7 +17,6 @@ import sonia.scm.update.V1Properties;
|
||||
import sonia.scm.version.Version;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.xml.bind.JAXBContext;
|
||||
import javax.xml.bind.JAXBException;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
@@ -96,8 +95,7 @@ public class XmlRepositoryV1UpdateStep implements CoreUpdateStep {
|
||||
LOG.info("no v1 repositories database file found");
|
||||
return;
|
||||
}
|
||||
JAXBContext jaxbContext = JAXBContext.newInstance(V1RepositoryHelper.V1RepositoryDatabase.class);
|
||||
V1RepositoryHelper.readV1Database(jaxbContext, contextProvider, V1_REPOSITORY_FILENAME).ifPresent(
|
||||
V1RepositoryHelper.readV1Database(contextProvider, V1_REPOSITORY_FILENAME).ifPresent(
|
||||
v1Database -> {
|
||||
v1Database.repositoryList.repositories.forEach(this::readMigrationEntry);
|
||||
v1Database.repositoryList.repositories.forEach(this::update);
|
||||
@@ -112,8 +110,7 @@ public class XmlRepositoryV1UpdateStep implements CoreUpdateStep {
|
||||
return emptyList();
|
||||
}
|
||||
try {
|
||||
JAXBContext jaxbContext = JAXBContext.newInstance(V1RepositoryHelper.V1RepositoryDatabase.class);
|
||||
return V1RepositoryHelper.readV1Database(jaxbContext, contextProvider, V1_REPOSITORY_FILENAME)
|
||||
return V1RepositoryHelper.readV1Database(contextProvider, V1_REPOSITORY_FILENAME)
|
||||
.map(v1Database -> v1Database.repositoryList.repositories.stream())
|
||||
.orElse(Stream.empty())
|
||||
.filter(v1Repository -> !this.findMigrationStrategy(v1Repository).isPresent())
|
||||
|
||||
Reference in New Issue
Block a user