diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3099273431..865266e93d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v4 with: - java-version: 21 + java-version: 25 distribution: temurin cache: maven diff --git a/mir-it/src/test/java/org/mycore/mir/it/controller/MIRModsEditorController.java b/mir-it/src/test/java/org/mycore/mir/it/controller/MIRModsEditorController.java index 87d390f84a..ee8b210e30 100644 --- a/mir-it/src/test/java/org/mycore/mir/it/controller/MIRModsEditorController.java +++ b/mir-it/src/test/java/org/mycore/mir/it/controller/MIRModsEditorController.java @@ -96,7 +96,7 @@ public void setOpenAIRE(String searchTrigger, String fullName) { nameElement.click(); driver.waitAndFindElements(By.xpath(".//ul[contains(@class,'typeahead')]/li/a")).stream() - .filter(e -> e.getText().contains(fullName)).limit(1).forEach(e -> e.click()); + .filter(e -> e.getText().contains(fullName)).limit(1).forEach(WebElement::click); } public void setTitle(String title) { diff --git a/mir-module/src/main/java/org/mycore/mir/MIRClassificationServlet.java b/mir-module/src/main/java/org/mycore/mir/MIRClassificationServlet.java index 0f81a8bb4f..e519baeb5e 100644 --- a/mir-module/src/main/java/org/mycore/mir/MIRClassificationServlet.java +++ b/mir-module/src/main/java/org/mycore/mir/MIRClassificationServlet.java @@ -52,7 +52,7 @@ private void chooseClassiRoot(HttpServletRequest request) { private Collection getRoleElements() { MCRCategoryDAO categoryDao = MCRCategoryDAOFactory.obtainInstance(); List allClassi = categoryDao.getRootCategories(); - ArrayList list = new ArrayList(allClassi.size()); + ArrayList list = new ArrayList<>(allClassi.size()); for (MCRCategory category : allClassi) { if (MCRAccessManager.checkPermission(category.getId().toString(), MCRAccessManager.PERMISSION_READ)) { Element role = new Element("classification"); diff --git a/mir-module/src/main/java/org/mycore/mir/authorization/MIROwnerStrategy.java b/mir-module/src/main/java/org/mycore/mir/authorization/MIROwnerStrategy.java index 8d0f7386f3..f0eb3cac43 100644 --- a/mir-module/src/main/java/org/mycore/mir/authorization/MIROwnerStrategy.java +++ b/mir-module/src/main/java/org/mycore/mir/authorization/MIROwnerStrategy.java @@ -69,7 +69,7 @@ public class MIROwnerStrategy implements MCRAccessCheckStrategy { private static final Pattern TYPE_PATTERN = Pattern.compile("[^_]*_([^_]*)_*"); private static LoadingCache CREATOR_CACHE = CacheBuilder.newBuilder().weakKeys() - .maximumSize(5000).build(new CacheLoader() { + .maximumSize(5000).build(new CacheLoader<>() { @Override public String load(MCRObjectID mcrObjectID) throws Exception { diff --git a/mir-module/src/main/java/org/mycore/mir/authorization/MIRStrategy.java b/mir-module/src/main/java/org/mycore/mir/authorization/MIRStrategy.java index 589669c91c..4d0bc9da6f 100644 --- a/mir-module/src/main/java/org/mycore/mir/authorization/MIRStrategy.java +++ b/mir-module/src/main/java/org/mycore/mir/authorization/MIRStrategy.java @@ -3,6 +3,7 @@ */ package org.mycore.mir.authorization; +import java.util.Comparator; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -295,9 +296,7 @@ private static List generateMCRCategoryIDList(String objectType, .map(s -> s.substring((objectType + ":").length())) .map(MCRCategoryID::ofString) .filter(c -> accessClasses.contains(c.getRootID())) - .sorted((c1, c2) -> { - return accessClasses.indexOf(c1.getRootID()) - accessClasses.indexOf(c2.getRootID()); - }) + .sorted(Comparator.comparingInt(c -> accessClasses.indexOf(c.getRootID()))) .collect(Collectors.toList()); } diff --git a/mir-module/src/main/java/org/mycore/mir/authorization/ReCaptcha.java b/mir-module/src/main/java/org/mycore/mir/authorization/ReCaptcha.java index 17640bf9e0..8add000893 100644 --- a/mir-module/src/main/java/org/mycore/mir/authorization/ReCaptcha.java +++ b/mir-module/src/main/java/org/mycore/mir/authorization/ReCaptcha.java @@ -106,7 +106,7 @@ private Boolean verifyResponse(final String response, final String ip) { final Gson gson = new Gson(); final ReCaptchaResult rcResult = gson.fromJson(json, ReCaptchaResult.class); - return Boolean.valueOf(rcResult.success); + return rcResult.success; } catch (final IOException | InterruptedException e) { LOGGER.warn("ReCaptcha response could not be verified!", e); return Boolean.FALSE; diff --git a/mir-module/src/main/java/org/mycore/mir/imageware/MIRImageWarePacker.java b/mir-module/src/main/java/org/mycore/mir/imageware/MIRImageWarePacker.java index d44ff38aba..e6de5d0ae4 100644 --- a/mir-module/src/main/java/org/mycore/mir/imageware/MIRImageWarePacker.java +++ b/mir-module/src/main/java/org/mycore/mir/imageware/MIRImageWarePacker.java @@ -13,6 +13,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Objects; import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.function.Consumer; @@ -125,7 +126,7 @@ private static Optional detectPPN(MCRObject mcrObject, String defaultPPN return null; } }) - .filter(o -> o != null) + .filter(Objects::nonNull) .collect(Collectors.toList()); for (URI possiblePPNURI : possiblePPNURIs) { diff --git a/mir-module/src/main/java/org/mycore/mir/migration/MIRMigration202006Utils.java b/mir-module/src/main/java/org/mycore/mir/migration/MIRMigration202006Utils.java index d2e5f76147..26084eac01 100644 --- a/mir-module/src/main/java/org/mycore/mir/migration/MIRMigration202006Utils.java +++ b/mir-module/src/main/java/org/mycore/mir/migration/MIRMigration202006Utils.java @@ -77,7 +77,7 @@ public static List migrateDerivateDisplay(String targetCategory) { .filter( der -> "false".equals(der.getRootElement().getChild("derivate").getAttributeValue("display", "true"))) .map(MCRDerivate::new) - .peek(der -> addContentIfNeeded(der)) + .peek(MIRMigration202006Utils::addContentIfNeeded) .map(der -> getMigrationCommand(der, categoryID)) .collect(Collectors.toList()); } @@ -298,9 +298,7 @@ public static void tryMigrationOfTitleInfoOrAbstractRequired(String mycoreObject .map(en -> Optional.ofNullable(titleInfo.getChild(en, MCRConstants.MODS_NAMESPACE)) .orElse(titleInfo.getChild(en))) .filter(Objects::nonNull) - .forEach(child -> { - fixHTML(xout, child); - }); + .forEach(child -> fixHTML(xout, child)); embedDocumentAsAltFormat(domOutputter, element, decodedDocument); } catch (JDOMException | IOException | TransformerException e) { throw new MCRException("Error while building document!", e); diff --git a/mir-module/src/main/java/org/mycore/mir/migration/MIRMigration202206Utils.java b/mir-module/src/main/java/org/mycore/mir/migration/MIRMigration202206Utils.java index eaab61cb75..41aa84f4f9 100644 --- a/mir-module/src/main/java/org/mycore/mir/migration/MIRMigration202206Utils.java +++ b/mir-module/src/main/java/org/mycore/mir/migration/MIRMigration202206Utils.java @@ -61,9 +61,8 @@ public static void checkNameIdentifierType(String objectID, String dryStr) HashSet labelLanguages = getAllRegularLabelLanguagesPresentInCategory(rootCategory, new HashSet<>()); AtomicBoolean update = new AtomicBoolean(false); - mcrModsWrapper.getElements("mods:name").forEach(name -> { - fixModsName(NAME_IDENTIFIER, rootID, labelLanguages, update, name); - }); + mcrModsWrapper.getElements("mods:name") + .forEach(name -> fixModsName(NAME_IDENTIFIER, rootID, labelLanguages, update, name)); if (update.get() && !dry) { LOGGER.info("Save updated object: " + mcrObjectID); @@ -73,9 +72,9 @@ public static void checkNameIdentifierType(String objectID, String dryStr) private static void fixModsName(String classification, MCRCategoryID rootID, HashSet labelLanguages, AtomicBoolean update, Element name) { - name.getChildren(NAME_IDENTIFIER, MCRConstants.MODS_NAMESPACE).forEach(nameIdentifier -> { - fixModsNameIdentifier(classification, rootID, labelLanguages, update, nameIdentifier); - }); + name.getChildren(NAME_IDENTIFIER, MCRConstants.MODS_NAMESPACE) + .forEach(nameIdentifier -> fixModsNameIdentifier(classification, rootID, labelLanguages, update, + nameIdentifier)); } private static void fixModsNameIdentifier(String classification, MCRCategoryID rootID, diff --git a/mir-module/src/main/java/org/mycore/mir/sword2/MIRSwordIngesterBase.java b/mir-module/src/main/java/org/mycore/mir/sword2/MIRSwordIngesterBase.java index 78abd5433e..79f28886f6 100644 --- a/mir-module/src/main/java/org/mycore/mir/sword2/MIRSwordIngesterBase.java +++ b/mir-module/src/main/java/org/mycore/mir/sword2/MIRSwordIngesterBase.java @@ -125,14 +125,11 @@ public void ingestResource(MCRObject mcrObject, Deposit deposit) throws SwordErr public Document buildDCDocument(Map> dublinCoreMetadata) { final Element dcRootElement = new Element("dc"); final Document dc = new Document(dcRootElement); - dublinCoreMetadata.entrySet().forEach(dcElementValueEntry -> { - final String elemenName = dcElementValueEntry.getKey(); - dcElementValueEntry.getValue().forEach(value -> { - final Element dcElement = new Element(elemenName, DC_NAMESPACE); - dcElement.setText(value); - dcRootElement.addContent(dcElement); - }); - }); + dublinCoreMetadata.forEach((elemenName, value1) -> value1.forEach(value -> { + final Element dcElement = new Element(elemenName, DC_NAMESPACE); + dcElement.setText(value); + dcRootElement.addContent(dcElement); + })); return dc; } } diff --git a/mir-module/src/main/java/org/mycore/mir/sword2/MIRSwordMetadataProvider.java b/mir-module/src/main/java/org/mycore/mir/sword2/MIRSwordMetadataProvider.java index 890921889a..b1f84f295d 100644 --- a/mir-module/src/main/java/org/mycore/mir/sword2/MIRSwordMetadataProvider.java +++ b/mir-module/src/main/java/org/mycore/mir/sword2/MIRSwordMetadataProvider.java @@ -74,9 +74,7 @@ public void addMetadata(MCRObject object, DepositReceipt receipt) throws SwordEr elementList.stream() .filter(dcElement -> dcElement.getText().trim().length() > 0) - .forEach(dcElement -> { - receipt.addDublinCore(dcElement.getName(), dcElement.getText().trim()); - }); + .forEach(dcElement -> receipt.addDublinCore(dcElement.getName(), dcElement.getText().trim())); MCRSwordUtil.addDatesToEntry(receipt.getWrappedEntry(), object); } diff --git a/mir-module/src/test/java/org/mycore/mir/migration/MIRFundingMigrationTest.java b/mir-module/src/test/java/org/mycore/mir/migration/MIRFundingMigrationTest.java index 7bd9368c80..560f4308a5 100644 --- a/mir-module/src/test/java/org/mycore/mir/migration/MIRFundingMigrationTest.java +++ b/mir-module/src/test/java/org/mycore/mir/migration/MIRFundingMigrationTest.java @@ -48,7 +48,7 @@ public void testMigrationTransformer_success() throws IOException, JDOMException assertNull(identifierElement); final List fundingReferenceElements = wrapper.getElements(FUNDING_REFERENCE_XPATH); assertEquals(1, fundingReferenceElements.size()); - final Element fundingReferenceElement = fundingReferenceElements.get(0); + final Element fundingReferenceElement = fundingReferenceElements.getFirst(); final Element awardTitleElement = fundingReferenceElement.getChild("awardTitle"); assertNotNull(awardTitleElement); assertEquals(AWARD_TITLE, awardTitleElement.getText()); diff --git a/mir-wizard/src/main/java/org/mycore/mir/wizard/MIRWizardCommandChain.java b/mir-wizard/src/main/java/org/mycore/mir/wizard/MIRWizardCommandChain.java index 2d8cffcb1f..a07373fb93 100644 --- a/mir-wizard/src/main/java/org/mycore/mir/wizard/MIRWizardCommandChain.java +++ b/mir-wizard/src/main/java/org/mycore/mir/wizard/MIRWizardCommandChain.java @@ -40,7 +40,7 @@ public class MIRWizardCommandChain { private boolean success = true; public MIRWizardCommandChain() { - setCommands(new ArrayList()); + setCommands(new ArrayList<>()); } public List getCommands() { diff --git a/mir-wizard/src/main/java/org/mycore/mir/wizard/MIRWizardCommandResult.java b/mir-wizard/src/main/java/org/mycore/mir/wizard/MIRWizardCommandResult.java index 636a90955f..870d5bb09f 100644 --- a/mir-wizard/src/main/java/org/mycore/mir/wizard/MIRWizardCommandResult.java +++ b/mir-wizard/src/main/java/org/mycore/mir/wizard/MIRWizardCommandResult.java @@ -50,7 +50,7 @@ public class MIRWizardCommandResult { private boolean success; - private Map attributes = new HashMap(); + private Map attributes = new HashMap<>(); private Element result; diff --git a/mir-wizard/src/main/java/org/mycore/mir/wizard/MIRWizardStartupHandler.java b/mir-wizard/src/main/java/org/mycore/mir/wizard/MIRWizardStartupHandler.java index 90d106f3b0..31abec1210 100644 --- a/mir-wizard/src/main/java/org/mycore/mir/wizard/MIRWizardStartupHandler.java +++ b/mir-wizard/src/main/java/org/mycore/mir/wizard/MIRWizardStartupHandler.java @@ -70,7 +70,7 @@ public class MIRWizardStartupHandler implements MCRStartupHandler.AutoExecutable private static final String WIZARD_FILTER_CLASS = MIRWizardRequestFilter.class.getName(); static void outputLoginToken(ServletContext servletContext) { - final StringBuffer sb = new StringBuffer(); + final StringBuilder sb = new StringBuilder(); final String line = "=".repeat(80); sb.append("\n\n") diff --git a/mir-wizard/src/main/java/org/mycore/mir/wizard/command/MIRWizardInitDatabase.java b/mir-wizard/src/main/java/org/mycore/mir/wizard/command/MIRWizardInitDatabase.java index 48e889f43c..17da78db83 100644 --- a/mir-wizard/src/main/java/org/mycore/mir/wizard/command/MIRWizardInitDatabase.java +++ b/mir-wizard/src/main/java/org/mycore/mir/wizard/command/MIRWizardInitDatabase.java @@ -61,9 +61,9 @@ private MIRWizardInitDatabase(String name) { @Override public void doExecute() { try { - StringBuffer res = new StringBuffer(); + StringBuilder res = new StringBuilder(); - HashMap initProps = new HashMap(); + HashMap initProps = new HashMap<>(); initProps.put("hibernate.hbm2ddl.auto", "create"); MCRJPABootstrapper.initializeJPA(PERSISTENCE_UNIT_NAME, initProps); diff --git a/pom.xml b/pom.xml index 425018b257..c7c4e273d0 100644 --- a/pom.xml +++ b/pom.xml @@ -40,12 +40,12 @@ 2024-12-18 2025.02 - 21 + 25 12.1.6 -Werror 2026.06.0-SNAPSHOT true - 7.11.0 + 7.16.0 4.23.0 9.10.1