Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
8735974
Update release workflow
hmiguim Sep 22, 2025
6843560
include file itself when fetching modifications under storagePath in …
eduardojst10 Oct 3, 2025
2288edc
changed LdapUtilityTestHelper bitnami image to bitnamilegacy
eduardojst10 Oct 3, 2025
91315c9
changed bitnami image name to bitnamilegacy in development.yml .
eduardojst10 Oct 3, 2025
d651101
refactored copy method that received toPath argument to export to fil…
eduardojst10 Nov 7, 2025
db9be08
Add UTF-8 encoding when downloading files with non-ASCII characteres
hmiguim Nov 10, 2025
47688de
Update EARK SIP 2 plugin to support representation status other than …
hmiguim Nov 10, 2025
3c996dd
fixed download api and RestUtils methods for file/folder preview and …
eduardojst10 Sep 26, 2025
128ac29
Updates bitnami image to legacy for test only
006627 Oct 2, 2025
413c5cb
Update bitnami image in different workflows
hmiguim Nov 10, 2025
070c2a8
OnOfFilter retries init if filter enabled config is missing
SugaryLump Nov 28, 2025
c674a11
added bearer authentication get and delete method to HTTPUtils. (#3563)
eduardojst10 Dec 9, 2025
08a197d
fixed loss of indexed Technical Metadata; prevent technical metadata …
eduardojst10 Dec 9, 2025
6f9b91d
[Snyk] Upgrade org.apache.zookeeper:zookeeper from 3.9.3 to 3.9.4 (#3…
luis100 Dec 9, 2025
aa2adcf
[Snyk] Upgrade commons-io:commons-io from 2.19.0 to 2.20.0 (#3541)
luis100 Dec 9, 2025
2c13411
[Snyk] Upgrade com.fasterxml.jackson.core:jackson-core from 2.19.1 to…
luis100 Dec 9, 2025
988a689
Apply code-style rules
hmiguim Dec 9, 2025
45abe94
Use jackson-bom
hmiguim Dec 9, 2025
4020b7d
Security upgrade org.testcontainers:testcontainers from 1.21.1 to 2.0.2
hmiguim Dec 9, 2025
e19abc3
Re add getOtherMetadata API method (#3538)
SugaryLump Dec 9, 2025
453e815
Security upgrade org.apache.solr from 9.8.1 to 9.10.0
hmiguim Dec 9, 2025
389aee9
fix: upgrade org.springframework.boot:spring-boot-starter from 3.4.10…
snyk-bot Dec 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
ports:
- 1025:1025
openldap:
image: docker.io/bitnami/openldap:2.6
image: docker.io/bitnamilegacy/openldap:2.6
ports:
- 1389:1389
- 1636:1636
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/development.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
POSTGRES_PASSWORD: roda
POSTGRES_DB: roda_core_db
openldap:
image: docker.io/bitnami/openldap:2.6
image: docker.io/bitnamilegacy/openldap:2.6
ports:
- 1389:1389
- 1636:1636
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
ports:
- 1025:1025
openldap:
image: docker.io/bitnami/openldap:2.6
image: docker.io/bitnamilegacy/openldap:2.6
ports:
- 1389:1389
- 1636:1636
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
ports:
- 1025:1025
openldap:
image: docker.io/bitnami/openldap:2.6
image: docker.io/bitnamilegacy/openldap:2.6
ports:
- 1389:1389
- 1636:1636
Expand Down Expand Up @@ -142,8 +142,8 @@ jobs:
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: roda-ui/roda-wui/target/roda-wui-${{ env.release_version }}.war
asset_name: roda-wui-${{ env.release_version }}.war
file: roda-ui/roda-wui/target/roda-wui-${{ env.release_version }}.jar
asset_name: roda-wui-${{ env.release_version }}.jar
tag: ${{ github.ref }}
release_name: ${{ github.ref_name }}
draft: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
ports:
- 1025:1025
openldap:
image: docker.io/bitnami/openldap:2.6
image: docker.io/bitnamilegacy/openldap:2.6
ports:
- 1389:1389
- 1636:1636
Expand Down
2 changes: 1 addition & 1 deletion deploys/standalone/docker-compose-dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ services:
- "8025:8025" # web ui

openldap:
image: docker.io/bitnami/openldap:2.6
image: docker.io/bitnamilegacy/openldap:2.6
container_name: openldap
restart: unless-stopped
user: 1001:root
Expand Down
53 changes: 11 additions & 42 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -123,16 +123,16 @@
<gwt.version>2.12.2</gwt.version>
<cas.client.version>4.0.4</cas.client.version>
<swagger.version>2.2.34</swagger.version>
<jackson.version>2.19.1</jackson.version>
<jackson.version>2.20.1</jackson.version>
<spring.version>6.2.11</spring.version>
<solr.version>9.8.1</solr.version>
<solr.version>9.10.0</solr.version>
<pekko.version>1.1.4</pekko.version>
<httpcomponents.version>5.5</httpcomponents.version>
<commons_ip2.version>2.10.0</commons_ip2.version>
<metrics.version>3.2.6</metrics.version>
<roda_community_url>https://roda-community.org</roda_community_url>
<testng.groups>all</testng.groups>
<springboot.version>3.4.10</springboot.version>
<springboot.version>3.5.7</springboot.version>
<scope.gwt-dev>provided</scope.gwt-dev>
<logback.version>1.5.19</logback.version>
</properties>
Expand Down Expand Up @@ -478,6 +478,13 @@
<artifactId>jaxb-runtime</artifactId>
<version>4.0.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>2.20.0</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
Expand All @@ -486,36 +493,6 @@
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.gwtproject</groupId>
<artifactId>gwt-dev</artifactId>
Expand Down Expand Up @@ -560,7 +537,7 @@
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.19.0</version>
<version>2.20.0</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
Expand Down Expand Up @@ -960,19 +937,11 @@
<artifactId>icu4j</artifactId>
<version>63.2</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.11.0</version>
</dependency>
</dependencies>
</dependencyManagement>
<reporting>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -401,6 +401,9 @@ public enum DateGranularity {
// dips
public static final String API_REST_V2_DIPS = "api/v2/dips/";

// dipfiles
public static final String API_REST_V2_DIPFILES = "api/v2/dip-files/";

// representation-information
public static final String API_REST_V2_REPRESENTATION_INFORMATION = "api/v2/representation-information/";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public static String createRodaPreservationURN(PreservationMetadataType preserva
}

public static String createRodaTechnicalMetadataURN(String id, String instanceId, String technicalMetadataType) {
return getTechnicalMetadataPrefix(technicalMetadataType, instanceId) + id;
return getTechnicalMetadataPrefix(technicalMetadataType, instanceId) + id + RodaConstants.REPRESENTATION_INFORMATION_FILE_EXTENSION;
}

public static String getTechnicalMetadataPrefix(String technicalMetadataType, String instanceId) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,39 +32,41 @@ private HTTPUtility() {
// do nothing
}

public static String doMethodBearer(String url, String method, Optional<String> token) throws GenericException {
try {
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestProperty("Accept", "application/json");
con.setRequestProperty("Content-Type", "application/json");
con.setRequestMethod(method);
addBearerAuthToConnection(con, token);
return executeRequest(con);
} catch (IOException e) {
throw new GenericException("Unable to connect to server", e);
}
}

public static String doMethod(String url, String method, Optional<Pair<String, String>> basicAuth)
throws GenericException {
String res = null;
try {
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod(method);
addBasicAuthToConnection(con, basicAuth);
int responseCode = con.getResponseCode();
if (responseCode == 200) {
InputStream is = con.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(is));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
is.close();
res = response.toString();
} else {
throw new GenericException("Unable to connect to server, response code: " + responseCode);
}
return executeRequest(con);
} catch (IOException e) {
throw new GenericException("Unable to connect to server", e);
}
return res;
}

public static String doGet(String url) throws GenericException {
return doMethod(url, METHOD_GET, Optional.empty());
}

public static String doGetBearer(String url, Optional<String> token) throws GenericException {
return doMethodBearer(url, METHOD_GET, token);
}

public static String doGet(String url, Optional<Pair<String, String>> basicAuth) throws GenericException {
return doMethod(url, METHOD_GET, basicAuth);
}
Expand All @@ -77,6 +79,10 @@ public static String doDelete(String url, Optional<Pair<String, String>> basicAu
return doMethod(url, METHOD_DELETE, basicAuth);
}

public static String doDeleteBearer(String url, Optional<String> token) throws GenericException {
return doMethodBearer(url, METHOD_DELETE, token);
}

private static void addBasicAuthToConnection(HttpURLConnection connection,
Optional<Pair<String, String>> credentials) {
if (credentials.isPresent()) {
Expand All @@ -85,4 +91,28 @@ private static void addBasicAuthToConnection(HttpURLConnection connection,
connection.setRequestProperty("Authorization", "Basic " + encoded);
}
}

private static void addBearerAuthToConnection(HttpURLConnection connection, Optional<String> token) {
token.ifPresent(s -> connection.setRequestProperty("Authorization", "Bearer " + s));
}

private static String executeRequest(HttpURLConnection con) throws IOException, GenericException {
int resCode = con.getResponseCode();

if (resCode == 200) {
InputStream is = con.getInputStream();
try (BufferedReader in = new BufferedReader(new InputStreamReader(is))) {
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
return response.toString();
} finally {
is.close();
}
} else {
throw new GenericException("Unable to connect to server, response code: " + resCode);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,12 @@ public static String getTransferredResourceUUID(Path relativeToBase) {
return getTransferredResourceUUID(relativeToBase.toString());
}

public static String createTechnicalMetadataFileId(String fileId, List<String> fileDirectoryPath){
if(fileDirectoryPath.isEmpty()) return fileId;
String pathPrefix = String.join(ID_SEPARATOR, fileDirectoryPath);
return pathPrefix + ID_SEPARATOR + fileId;
}

public static String getTransferredResourceUUID(String relativeToBase) {
return IdUtils.createUUID(relativeToBase);
}
Expand Down
2 changes: 1 addition & 1 deletion roda-core/roda-core-tests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<version>1.21.1</version>
<version>2.0.2</version>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public LdapUtility getLdapUtility() {

public LdapUtilityTestHelper() {
final String ldapBaseDN = "dc=roda,dc=org";
DockerImageName OPENLDAP_IMAGE = DockerImageName.parse("docker.io/bitnami/openldap:2.6");
DockerImageName OPENLDAP_IMAGE = DockerImageName.parse("docker.io/bitnamilegacy/openldap:2.6");

openldap = new GenericContainer<>(OPENLDAP_IMAGE);
openldap.withExposedPorts(1389);
Expand Down
26 changes: 9 additions & 17 deletions roda-core/roda-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,16 +46,12 @@
<shadedClassifierName>jar-with-dependencies</shadedClassifierName>
<createDependencyReducedPom>false</createDependencyReducedPom>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer"/>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<transformer implementation="org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer"/>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.roda.core.RodaCoreFactory</mainClass>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<!-- akka related conf appending -->
<resource>reference.conf</resource>
</transformer>
Expand Down Expand Up @@ -96,16 +92,12 @@
<shadedClassifierName>jar-with-dependencies</shadedClassifierName>
<createDependencyReducedPom>false</createDependencyReducedPom>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer"/>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<transformer implementation="org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer"/>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.roda.core.RodaCoreFactory</mainClass>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<!-- akka related conf appending -->
<resource>reference.conf</resource>
</transformer>
Expand Down Expand Up @@ -164,7 +156,7 @@
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.9.3</version>
<version>3.9.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.solr/solr-solrj-zookeeper -->
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,8 +195,11 @@ public SolrInputDocument toSolrDocument(ModelService model, File file, IndexingA

Long sizeInBytes = 0L;

SolrUtils.indexRepresentationTechnicalMetadata(model,
getRepresentationTechnicalMetadata(((Info) info).aip, file.getRepresentationId()), fileId, doc);
if (!file.isDirectory()) {
String techMdFileId = IdUtils.createTechnicalMetadataFileId(fileId, file.getPath());
SolrUtils.indexRepresentationTechnicalMetadata(model,
getRepresentationTechnicalMetadata(((Info) info).aip, file.getRepresentationId()), techMdFileId, doc);
}

// Add information from PREMIS
Binary premisFile = getFilePremisFile(model, file);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1545,7 +1545,7 @@ public static void indexRepresentationTechnicalMetadata(ModelService model,

StoragePath storagePath = ModelUtils.getTechnicalMetadataStoragePath(techMd.getAipId(),
techMd.getRepresentationId(), Collections.singletonList(techMd.getType()),
urn + RodaConstants.REPRESENTATION_INFORMATION_FILE_EXTENSION);
urn);

Binary binary = model.getStorage().getBinary(storagePath);

Expand Down
Loading
Loading