Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@milanmajchrak
Copy link
Collaborator

@milanmajchrak milanmajchrak commented Jul 18, 2025

Phases MP MM MB MR JM Total
ETA 0 0 0 0 0 0
Developing 0 0 0 0 0 0
Review 0 0 0 0 0 0
Total - - - - - 0
ETA est. 0
ETA cust. - - - - - 0

Problem description

Reported issues

Not-reported issues

Analysis

(Write here, if there is needed describe some specific problem. Erase it, when it is not needed.)

Problems

(Write here, if some unexpected problems occur during solving issues. Erase it, when it is not needed.)

Summary by CodeRabbit

  • New Features

    • Introduced a new REST endpoint to provide detailed reference box information for repository items, including formatted citation text, export formats, and featured services.
    • Added support for displaying export formats and featured service links in the reference box UI.
    • Enhanced citation formatting with improved author handling and metadata fallbacks.
  • Bug Fixes

    • Improved error handling for invalid or missing item handles in the reference box endpoint.
  • Tests

    • Added comprehensive integration tests to ensure correct reference box responses, citation formatting, and error handling for various metadata scenarios.

@coderabbitai
Copy link

coderabbitai bot commented Jul 18, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This update introduces a new REST endpoint in ClarinRefBoxController to provide a refbox info API for DSpace items, returning citation-like display text, export formats, and featured services. Supporting DTO classes and utility methods are added. Comprehensive integration tests validate endpoint responses, error handling, and metadata formatting scenarios.

Changes

File(s) Change Summary
dspace-server-webapp/src/main/java/org/dspace/app/rest/ClarinRefBoxController.java Added REST endpoint for refbox info, supporting methods for display text, export formats, featured services. Refactored DTO usage and metadata field names.
dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/ExportFormatDTO.java New DTO class for export format information (name, url, dataType, extract).
dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/FeaturedServiceDTO.java New DTO class for featured service details (name, url, description, links).
dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/FeaturedServiceLinkDTO.java New DTO class for featured service link key-value pairs.
dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/RefBoxDTO.java New DTO class aggregating refbox info (displayText, exportFormats, featuredServices, title).
dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/Utils.java Added utility method to get canonical handle URL without protocol.
dspace-server-webapp/src/test/java/org/dspace/app/rest/ClarinRefBoxControllerIT.java Added extensive integration tests for the new refbox endpoint, covering various metadata and error scenarios.

Sequence Diagram(s)

sequenceDiagram
    participant Client
    participant ClarinRefBoxController
    participant HandleService
    participant ItemService
    participant Utils
    participant ConfigurationService

    Client->>ClarinRefBoxController: GET /api/core/refbox?handle=...
    ClarinRefBoxController->>HandleService: resolveHandle(handle)
    HandleService-->>ClarinRefBoxController: Item or error
    alt Item found
        ClarinRefBoxController->>ItemService: getMetadata(item, ...)
        ClarinRefBoxController->>Utils: getCanonicalHandleUrlNoProtocol(item)
        ClarinRefBoxController->>ConfigurationService: getProperty(...)
        ClarinRefBoxController-->>Client: 200 OK (RefBoxDTO JSON)
    else Error
        ClarinRefBoxController-->>Client: 4xx/422 error
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • vidiecan

Poem

In the warren of code, a refbox appears,
With citations and links, it now perseveres.
DTOs hop in, with data to show,
Tests burrow deep, making sure all will flow.
A handle, a title, a service or two—
This rabbit is proud of the work you now do!
🐇✨

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6aff256 and 3c46ae2.

📒 Files selected for processing (1)
  • dspace-server-webapp/src/main/java/org/dspace/app/rest/ClarinRefBoxController.java (7 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ufal/refbox-upgrade

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8ae0f17 and 58c1e0b.

📒 Files selected for processing (1)
  • dspace-server-webapp/src/test/java/org/dspace/app/rest/ClarinRefBoxControllerIT.java (2 hunks)
🔇 Additional comments (1)
dspace-server-webapp/src/test/java/org/dspace/app/rest/ClarinRefBoxControllerIT.java (1)

11-11: LGTM: Import addition is appropriate.

The jsonPath import is correctly added to support the new test assertions.

@milanmajchrak milanmajchrak requested a review from Copilot July 21, 2025 15:19
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request implements upgrades to the CLARIN/UFAL RefBox functionality by adding comprehensive integration tests and refactoring existing code. The changes focus on improving test coverage for the /api/core/refbox endpoint and updating the controller implementation.

  • Added extensive integration tests to verify RefBox API responses for items with and without featured services
  • Refactored the controller to support a new consolidated RefBox endpoint with proper DTO structure
  • Added utility method for canonical handle URL formatting

Reviewed Changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
ClarinRefBoxControllerIT.java Added 11 new integration tests covering various RefBox endpoint scenarios including error cases and edge conditions
Utils.java Added utility method to format canonical handle URLs without protocol prefix
RefBoxDTO.java New DTO class for RefBox response structure
FeaturedServiceLinkDTO.java New DTO for featured service link data
FeaturedServiceDTO.java New DTO for featured service data
ExportFormatDTO.java New DTO for export format data
ClarinRefBoxController.java Added new endpoint method and refactored OaiMetadataWrapper class
Comments suppressed due to low confidence (1)

dspace-server-webapp/src/main/java/org/dspace/app/rest/ClarinRefBoxController.java:595

  • The field name 'value' is inconsistent with the getter method name 'getMetadata()'. Consider renaming the field to 'metadata' to maintain consistency.
    private String value;

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

♻️ Duplicate comments (1)
dspace-server-webapp/src/main/java/org/dspace/app/rest/ClarinRefBoxController.java (1)

378-394: Hard-coded HTML formatting reduces maintainability.

The method contains hard-coded HTML tags that make the code less maintainable, as noted in previous reviews.

Consider using constants or a template approach:

+    private static final String DISPLAY_TEXT_TEMPLATE = "%s%s, \n  <i>%s</i>%s, \n  <a href=\"%s\">%s</a>.";
+    
     private String buildDisplayText(Item item) {
         // ... existing logic for gathering data ...
         
-        StringBuilder sb = new StringBuilder();
-        if (authorText != null && !authorText.isEmpty()) {
-            sb.append(authorText);
-        }
-        if (year != null && !year.isEmpty()) {
-            if (sb.length() > 0) {
-                sb.append(", ");
-            }
-            sb.append(year);
-        }
-        sb.append(", \n  <i>").append(title != null ? title : "").append("</i>");
-        if (repository != null && !repository.isEmpty()) {
-            sb.append(", ").append(repository);
-        }
-        sb.append(", \n  <a href=\"").append(identifier != null ? identifier : "").append("\">")
-                .append(identifier != null ? identifier : "").append("</a>.");
-        return sb.toString();
+        
+        String authorPart = (authorText != null && !authorText.isEmpty()) ? authorText : "";
+        String yearPart = (year != null && !year.isEmpty()) ? ", " + year : "";
+        String titlePart = title != null ? title : "";
+        String repositoryPart = (repository != null && !repository.isEmpty()) ? ", " + repository : "";
+        String identifierPart = identifier != null ? identifier : "";
+        
+        return String.format(DISPLAY_TEXT_TEMPLATE, authorPart, yearPart, titlePart, 
+                           repositoryPart, identifierPart, identifierPart);
     }
🧹 Nitpick comments (1)
dspace-server-webapp/src/main/java/org/dspace/app/rest/ClarinRefBoxController.java (1)

400-413: LGTM! Consider making the author threshold configurable.

The method handles various author scenarios well. The magic number 5 for the author threshold could potentially be made configurable for flexibility.

+    private static final int MAX_AUTHORS_BEFORE_ET_AL = 5;
+    
     private String formatAuthors(Item item, List<String> authors) {
         String authorText = "";
         if (authors.isEmpty()) {
             authorText = itemService.getMetadataFirstValue(item, "dc", "publisher", null, Item.ANY);
         } else if (authors.size() == 1) {
             authorText = authors.get(0);
-        } else if (authors.size() <= 5) {
+        } else if (authors.size() <= MAX_AUTHORS_BEFORE_ET_AL) {
             authorText = String.join("; ", authors);
             authorText = authorText.replaceAll(";([^;]*)$", " and$1");
         } else {
             authorText = authors.get(0) + "; et al.";
         }
         return authorText;
     }
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8b3b222 and 42dd7ef.

📒 Files selected for processing (1)
  • dspace-server-webapp/src/main/java/org/dspace/app/rest/ClarinRefBoxController.java (6 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (1)
dspace-server-webapp/src/main/java/org/dspace/app/rest/ClarinRefBoxController.java (5)
dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/ExportFormatDTO.java (1)
  • ExportFormatDTO (12-52)
dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/FeaturedServiceDTO.java (1)
  • FeaturedServiceDTO (14-59)
dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/FeaturedServiceLinkDTO.java (1)
  • FeaturedServiceLinkDTO (12-34)
dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/RefBoxDTO.java (1)
  • RefBoxDTO (14-61)
dspace-api/src/main/java/org/dspace/core/Utils.java (1)
  • Utils (54-581)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: dspace-dependencies / docker-build (linux/amd64, ubuntu-latest, true)
  • GitHub Check: Run Integration Tests
  • GitHub Check: Run Unit Tests
🔇 Additional comments (3)
dspace-server-webapp/src/main/java/org/dspace/app/rest/ClarinRefBoxController.java (3)

28-28: LGTM!

The new imports are appropriate for the added refbox functionality and follow standard conventions.

Also applies to: 51-51, 53-56, 59-59, 65-65, 67-67


110-111: LGTM!

The service injections follow standard Spring autowiring patterns and are necessary for the new functionality.

Also applies to: 134-135


603-603: LGTM!

The refactoring of the internal field name from metadata to value is clean and maintains backward compatibility through the getter method name.

Also applies to: 605-606, 610-610, 613-614

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (4)
dspace-server-webapp/src/main/java/org/dspace/app/rest/ClarinRefBoxController.java (4)

304-339: Add explicit handle parameter validation as previously recommended.

The method lacks the explicit null/blank validation for the handle parameter that was recommended in previous reviews. While the current code works, explicit validation provides clearer error messages and intent.

Consider adding the validation before handle resolution:

@RequestMapping(method = RequestMethod.GET, produces = "application/json")
public ResponseEntity<RefBoxDTO> getRefboxInfo(
        @RequestParam(name = "handle") String handle,
        HttpServletRequest request) throws SQLException {

    Context context = ContextUtil.obtainContext(request);
    if (context == null) {
        throw new RuntimeException("Cannot obtain the context from the request.");
    }
+
+   if (StringUtils.isBlank(handle)) {
+       throw new UnprocessableEntityException("The handle parameter is required.");
+   }

    DSpaceObject dSpaceObject = handleService.resolveToObject(context, handle);

376-393: Consider extracting HTML formatting to constants or template.

The hardcoded HTML tags in the display text formatting reduce maintainability, as noted in previous reviews. Consider using constants or a template approach for better maintainability.

The current implementation works but could be improved for long-term maintenance.


419-435: Address configuration null safety and format type issues from previous reviews.

The method has issues that were previously identified:

  1. Missing null safety for configurationService.getProperty("dspace.server.url")
  2. Hard-coded export format specifications that should be configurable
  3. Incorrect dataType "json" for both bibtex and cmdi formats

Consider implementing the previously suggested improvements for configuration null checks and making format types configurable rather than hard-coded.


454-462: Improve metadata parsing robustness as previously recommended.

The metadata parsing could be more robust, similar to the error handling in the existing mapFeaturedServiceLinks method. The current implementation only checks for exactly 2 parts but could handle edge cases better.

Consider implementing the previously suggested improvements for handling malformed metadata values with proper logging and error handling.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 40f6a9d and 83e9ea4.

📒 Files selected for processing (6)
  • dspace-server-webapp/src/main/java/org/dspace/app/rest/ClarinRefBoxController.java (5 hunks)
  • dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/ExportFormatDTO.java (1 hunks)
  • dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/FeaturedServiceDTO.java (1 hunks)
  • dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/FeaturedServiceLinkDTO.java (1 hunks)
  • dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/RefBoxDTO.java (1 hunks)
  • dspace-server-webapp/src/test/java/org/dspace/app/rest/ClarinRefBoxControllerIT.java (2 hunks)
🧬 Code Graph Analysis (1)
dspace-server-webapp/src/test/java/org/dspace/app/rest/ClarinRefBoxControllerIT.java (4)
dspace-api/src/main/java/org/dspace/core/Utils.java (1)
  • Utils (54-581)
dspace-api/src/test/java/org/dspace/builder/CollectionBuilder.java (1)
  • CollectionBuilder (37-378)
dspace-api/src/test/java/org/dspace/builder/CommunityBuilder.java (1)
  • CommunityBuilder (31-182)
dspace-api/src/test/java/org/dspace/builder/ItemBuilder.java (1)
  • ItemBuilder (39-458)
✅ Files skipped from review due to trivial changes (2)
  • dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/RefBoxDTO.java
  • dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/FeaturedServiceDTO.java
🚧 Files skipped from review as they are similar to previous changes (2)
  • dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/ExportFormatDTO.java
  • dspace-server-webapp/src/main/java/org/dspace/app/rest/model/refbox/FeaturedServiceLinkDTO.java
🧰 Additional context used
🧬 Code Graph Analysis (1)
dspace-server-webapp/src/test/java/org/dspace/app/rest/ClarinRefBoxControllerIT.java (4)
dspace-api/src/main/java/org/dspace/core/Utils.java (1)
  • Utils (54-581)
dspace-api/src/test/java/org/dspace/builder/CollectionBuilder.java (1)
  • CollectionBuilder (37-378)
dspace-api/src/test/java/org/dspace/builder/CommunityBuilder.java (1)
  • CommunityBuilder (31-182)
dspace-api/src/test/java/org/dspace/builder/ItemBuilder.java (1)
  • ItemBuilder (39-458)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: dspace-dependencies / docker-build (linux/amd64, ubuntu-latest, true)
  • GitHub Check: Run Integration Tests
  • GitHub Check: Run Unit Tests
🔇 Additional comments (10)
dspace-server-webapp/src/test/java/org/dspace/app/rest/ClarinRefBoxControllerIT.java (7)

10-34: LGTM - Appropriate imports for enhanced test functionality.

The new imports support the comprehensive testing of the refbox endpoint, including collection matching with hasItem, configuration-based URL construction with ConfigurationService, and utility methods with Utils.


77-110: LGTM - Comprehensive test coverage for items with featured services.

The test method effectively validates the complete refbox response structure, including dynamic URL generation for export formats and proper featured service metadata parsing. The use of JSONPath expressions with filtering is particularly good for testing complex nested structures.


112-140: LGTM - Correctly tests empty featured services scenario.

The test properly validates the behavior when an item has no featured service metadata. The fix to use the correct item variable (instead of itemWithFS) addresses the previous review feedback, and the assertion that featuredServices.featuredService is empty is appropriate.


142-154: LGTM - Proper error handling test for missing handle parameter.

The test correctly validates that a missing handle parameter results in a 4xx client error, which is appropriate for missing required parameters.


156-226: LGTM - Comprehensive metadata variation testing.

These test methods provide excellent coverage of edge cases for display text generation, including scenarios with only publisher, year, title, DOI, and whitespace metadata. This ensures the display text building logic handles various real-world metadata combinations gracefully.


228-255: LGTM - Good edge case coverage for featured service metadata.

These tests appropriately handle edge cases in featured service processing:

  • The duplicate entries test correctly expects 2 entries (as clarified by the developer)
  • The malformed link test ensures graceful handling when metadata doesn't follow the expected key|value format

Both tests contribute to robust error handling and data processing validation.


257-324: LGTM - Thorough testing of author formatting business logic.

These test methods comprehensively validate the complex author formatting rules:

  • Single author: direct display
  • Two authors: joined with "and"
  • 2-5 authors: semicolon-separated with final "and"
  • 6+ authors: first author plus "et al."

The test assertions correctly verify each formatting scenario matches the expected business requirements.

dspace-server-webapp/src/main/java/org/dspace/app/rest/ClarinRefBoxController.java (3)

28-66: LGTM - Appropriate imports and dependencies for refbox functionality.

The new imports support the comprehensive refbox endpoint including stream processing for metadata, DTO classes for structured responses, exception handling, and handle service integration.

Also applies to: 130-131


402-413: LGTM - Correct implementation of author formatting business logic.

The method properly implements the complex author formatting requirements:

  • Single author: direct display
  • 2-5 authors: semicolon separation with "and" for the last author
  • 6+ authors: first author plus "et al."

The implementation matches the comprehensive test coverage and business requirements.


620-632: LGTM - Good refactoring that maintains API compatibility.

The internal field rename from metadata to value improves naming clarity while maintaining external API compatibility. The getMetadata() method continues to work as expected for existing consumers.

@milanmajchrak milanmajchrak linked an issue Jul 22, 2025 that may be closed by this pull request
@milanmajchrak milanmajchrak merged commit 8ddf0af into dtq-dev Jul 24, 2025
6 of 7 checks passed
milanmajchrak added a commit that referenced this pull request Jul 24, 2025
* UFAL/DOI - Added type of resource to data cite (#975)

* UFAL/The process output is not displayed because of S3 direct download (#971)

* The S3 direct download is provided only for the files located in the ORIGINAL bundle

* Use constant for the ORIGINAL string value

* Check if type is html (#983)

* check if type is html

* added test for html mime type

* used static string for text/html, added check

* Ufal dtq sync062025 (#985)

* we should identify as clarin-dspace

Fix test

(cherry picked from commit 6cdf2d1)

* update email templates to use dspace.shortname

dspace.name can be a long string not fit for Email subjects nor
signatures

(cherry picked from commit 98d60dd)

* match v5 submission

(cherry picked from commit 4a2b65f)

* get rid of lr.help.phone

Phone is now conditional in the templates.
Use `mail.message.helpdesk.telephone` if you want it.

The change in the *.java files is to preserve the params counts. The
relevant templates are getting the phone directly from config

(cherry picked from commit cba5695)

* Add option to configure oai sample identifier

some validators use this value, should be a real id in prod deployments

(cherry picked from commit 912f13f)

* NRP deposit license

(cherry picked from commit ba23878)

* Fix ufal#1219

Get rid of setting the jsse.enableSNIExtension property which causes
issues with handle minting

(cherry picked from commit 7d03173)

* UFAL/Improve file preview generating (#972)

* get name and size from metadata and header of file, avoid input stream using

* remove temp file, checkstyle, do not load full file

* add { } after if

* added check for max preview file

* used ZipFile and TarArchived for filepreview generating

* added removed lines

* used 7z for zip and tar files

* removed 7z and used zip and tar entry

* improved file previrew generating speed, used string builder, xml builder, authorization only if is required

* checkstyle, return boolean from haspreview and previrews from getPreview, replaced return with continue

* fix problem with hibernate session

* fix .tar.gz generating

* skip fully entry for tar

* added indexes for speed up queries

* added license header

* named constant by upper case

* inicialized fileInfo, refactorization of code based on copilot review

---------

Co-authored-by: milanmajchrak <[email protected]>

* Fix the file preview integration test (#989)

* The hasPreview method has been changed, but the IT wasn't updated correctly

* Use the correct checkbox for the input field - use repeatable (#991)

* UFAL/EU Sponsor openaire id should not be required (#1001)

* EU Sponsor openaire id should not be required

* Not required also in the czech submission forms

* Logging error message while emailing users (#1000)

* Logging error message

---------

Co-authored-by: Matus Kasak <[email protected]>
Co-authored-by: milanmajchrak <[email protected]>

* UFAL/Teaching and clariah submissions does not have clarin-license (#1005)

* UFAL/Fix logging in LogoImportController (#1003)

* fix logging

* used formatter for msg

* UFAL/Update the resource policy rights when changing submitter (#1002)

* removed res policies for submitter and created newones when item is shared

* avoid magic number, use constant

* set submitter in existing res policies

* removed not used shared link

* UFAL/Added date to title when creating new version (#984)

* added date to versioned item title

* used more modern approach for getting current time

* renamed test

* used var for reusing

* UFAL/Item handle info in email after download request (#1006)

* Added item handle to email

* Exception when item not found

* Checked grammar

* Handled multiple items found by bitstream

* Using PID instead of handle

---------

Co-authored-by: Matus Kasak <[email protected]>

* UFAL/Incorrect password hash funct used during migration (#999)

* password in request is already hashed, used different password hash funct

* renamed password param in eperson endpoint

* [devOps] labelling reviewing process

* [devOps] labelling reviewing process

* UFAL/New version keeps the old identifier

* UFAL/Send email to editor after submitting item (#1016)

Co-authored-by: Matus Kasak <[email protected]>

* UFAL/Local file size is 0 for file with no zero size (#1017)

* update item metadata after the bitstream size has changed

* issue 1241: ItemFilesMetadataRepair script implementation (DSpace#1243) (#1021)

* issue 1241: ItemFilesMetadataRepair script implementation

* extend script to be applicabble for all items, and for items with files metadata that have missing bitstreams (files)

* implement dry-run option

* option description fix

* Improve error message

* Use "0" instead of "" + 0

* Improve error message

(cherry picked from commit 706f6f6)

Co-authored-by: kuchtiak-ufal <[email protected]>

* UFAL/Refbox upgrade (#1015)

* Created integration test

* Created an endpoint for complete ref box information like in the v5

* Added integration tests for formatting authors

* Removed double semicolon

* Fetch the metadata value following the current locale

* Updated firstMetadataValue because it did return empty string instead of null

* Use DEFAULT_LANGUAGE instead of current locale

* UFAL/Added doc - issue link (#1023)

---------

Co-authored-by: Paurikova2 <[email protected]>
Co-authored-by: Ondřej Košarko <[email protected]>
Co-authored-by: Kasinhou <[email protected]>
Co-authored-by: Matus Kasak <[email protected]>
Co-authored-by: jurinecko <[email protected]>
Co-authored-by: jm <jm@maz>
Co-authored-by: kuchtiak-ufal <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

UFAL/Ref box out of the repository is not working

2 participants