From e432d6d210c31435160a0f2cc098f8cb785acdfe Mon Sep 17 00:00:00 2001 From: Eduard Heimbuch Date: Tue, 19 Nov 2019 14:23:05 +0100 Subject: [PATCH] refactor --- .../src/main/java/sonia/scm/repository/Repository.java | 1 - .../sonia/scm/update/repository/PublicFlagUpdateStep.java | 4 +--- .../sonia/scm/update/repository/V1RepositoryHelper.java | 5 +++-- .../scm/update/repository/XmlRepositoryV1UpdateStep.java | 7 ++----- 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/repository/Repository.java b/scm-core/src/main/java/sonia/scm/repository/Repository.java index 6b7df70081..e35e12bbb0 100644 --- a/scm-core/src/main/java/sonia/scm/repository/Repository.java +++ b/scm-core/src/main/java/sonia/scm/repository/Repository.java @@ -83,7 +83,6 @@ public class Repository extends BasicPropertiesAware implements ModelObject, Per private String name; @XmlElement(name = "permission") private Set permissions = new HashSet<>(); - @XmlElement(name = "public") private String type; diff --git a/scm-webapp/src/main/java/sonia/scm/update/repository/PublicFlagUpdateStep.java b/scm-webapp/src/main/java/sonia/scm/update/repository/PublicFlagUpdateStep.java index b2e3c17980..5eedce12d0 100644 --- a/scm-webapp/src/main/java/sonia/scm/update/repository/PublicFlagUpdateStep.java +++ b/scm-webapp/src/main/java/sonia/scm/update/repository/PublicFlagUpdateStep.java @@ -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 ); } diff --git a/scm-webapp/src/main/java/sonia/scm/update/repository/V1RepositoryHelper.java b/scm-webapp/src/main/java/sonia/scm/update/repository/V1RepositoryHelper.java index bba89b541f..43ddb2671b 100644 --- a/scm-webapp/src/main/java/sonia/scm/update/repository/V1RepositoryHelper.java +++ b/scm-webapp/src/main/java/sonia/scm/update/repository/V1RepositoryHelper.java @@ -26,8 +26,9 @@ class V1RepositoryHelper { ).toFile(); } - static Optional readV1Database(JAXBContext jaxbContext, SCMContextProvider contextProvider, String filename) throws JAXBException { - Object unmarshal = jaxbContext.createUnmarshaller().unmarshal(resolveV1File(contextProvider,filename)); + static Optional 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 { diff --git a/scm-webapp/src/main/java/sonia/scm/update/repository/XmlRepositoryV1UpdateStep.java b/scm-webapp/src/main/java/sonia/scm/update/repository/XmlRepositoryV1UpdateStep.java index 69354c294a..6230919503 100644 --- a/scm-webapp/src/main/java/sonia/scm/update/repository/XmlRepositoryV1UpdateStep.java +++ b/scm-webapp/src/main/java/sonia/scm/update/repository/XmlRepositoryV1UpdateStep.java @@ -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())