diff --git a/apps/studio-client/apps/main/csv-studio-importer/package.json b/apps/studio-client/apps/main/csv-studio-importer/package.json
index 779e815..585f0de 100644
--- a/apps/studio-client/apps/main/csv-studio-importer/package.json
+++ b/apps/studio-client/apps/main/csv-studio-importer/package.json
@@ -4,21 +4,22 @@
"version": "1.0.0-SNAPSHOT",
"private": true,
"dependencies": {
- "@coremedia/studio-client.app-context-models": "2310.1.0",
- "@coremedia/studio-client.cap-base-models": "2310.1.0",
- "@coremedia/studio-client.client-core": "2310.1.0",
- "@coremedia/studio-client.client-core-impl": "2310.1.0",
- "@coremedia/studio-client.ext.ui-components": "2310.1.0",
- "@coremedia/studio-client.main.editor-components": "2310.1.0",
- "@jangaroo/ext-ts": "^1.0.3",
- "@jangaroo/runtime": "^1.5.0"
+ "@coremedia/studio-client.app-context-models": "2401.7.0",
+ "@coremedia/studio-client.cap-base-models": "2401.7.0",
+ "@coremedia/studio-client.client-core": "2401.7.0",
+ "@coremedia/studio-client.client-core-impl": "2401.7.0",
+ "@coremedia/studio-client.ext.ui-components": "2401.7.0",
+ "@coremedia/studio-client.main.editor-components": "2401.7.0",
+ "@jangaroo/ext-ts": "^1.1.0",
+ "@jangaroo/runtime": "^2.0.0"
},
"devDependencies": {
- "@jangaroo/build": "^1.5.0",
- "@jangaroo/core": "^1.5.0",
- "@jangaroo/eslint-config": "^1.5.0",
- "@jangaroo/publish": "^1.5.0",
- "eslint": "^7.32.0",
+ "@jangaroo/build": "^2.0.5",
+ "@jangaroo/core": "^2.0.5",
+ "@jangaroo/eslint-config": "^2.0.5",
+ "@jangaroo/joounit": "^2.0.5",
+ "@jangaroo/publish": "^2.0.5",
+ "eslint": "^8.56.0",
"rimraf": "^3.0.2"
},
"scripts": {
diff --git a/apps/studio-client/apps/main/csv-studio-importer/src/tsconfig.json b/apps/studio-client/apps/main/csv-studio-importer/src/tsconfig.json
index 1456669..0ac11e6 100644
--- a/apps/studio-client/apps/main/csv-studio-importer/src/tsconfig.json
+++ b/apps/studio-client/apps/main/csv-studio-importer/src/tsconfig.json
@@ -5,7 +5,6 @@
"compilerOptions": {
"rootDir": ".",
"outDir": "../dist/src",
- "moduleResolution": "nodenext",
"types": [
"@coremedia/studio-client.client-core",
"@coremedia/studio-client.main.editor-components",
diff --git a/apps/studio-client/apps/main/csv-studio/jangaroo.config.js b/apps/studio-client/apps/main/csv-studio/jangaroo.config.js
index 69fcd46..7d24fc9 100644
--- a/apps/studio-client/apps/main/csv-studio/jangaroo.config.js
+++ b/apps/studio-client/apps/main/csv-studio/jangaroo.config.js
@@ -16,6 +16,10 @@ module.exports = jangarooConfig({
mainClass: "com.coremedia.csv.studio.CSVExportStudioPlugin",
name: "CSV Exporter",
},
+ {
+ mainClass: "com.coremedia.csv.studio.CSVExportStudioPlugin",
+ name: "CSV Exporter2",
+ },
],
},
command: {
diff --git a/apps/studio-client/apps/main/csv-studio/package.json b/apps/studio-client/apps/main/csv-studio/package.json
index 7f58465..df3feaf 100644
--- a/apps/studio-client/apps/main/csv-studio/package.json
+++ b/apps/studio-client/apps/main/csv-studio/package.json
@@ -4,25 +4,26 @@
"version": "1.0.0-SNAPSHOT",
"private": true,
"dependencies": {
- "@coremedia/studio-client.cap-rest-client": "2310.1.0",
- "@coremedia/studio-client.cap-rest-client-impl": "2310.1.0",
- "@coremedia/studio-client.client-core": "2310.1.0",
- "@coremedia/studio-client.client-core-impl": "2310.1.0",
- "@coremedia/studio-client.ext.base-components": "2310.1.0",
- "@coremedia/studio-client.ext.cap-base-components": "2310.1.0",
- "@coremedia/studio-client.ext.ui-components": "2310.1.0",
- "@coremedia/studio-client.main.editor-components": "2310.1.0",
- "@coremedia/studio-client.ext.library-services-toolkit": "2310.1.0",
- "@coremedia/studio-client.ext.toast-components": "2310.1.0",
- "@jangaroo/ext-ts": "^1.0.3",
- "@jangaroo/runtime": "^1.5.0"
+ "@coremedia/studio-client.cap-rest-client": "2401.7.0",
+ "@coremedia/studio-client.cap-rest-client-impl": "2401.7.0",
+ "@coremedia/studio-client.client-core": "2401.7.0",
+ "@coremedia/studio-client.client-core-impl": "2401.7.0",
+ "@coremedia/studio-client.ext.base-components": "2401.7.0",
+ "@coremedia/studio-client.ext.cap-base-components": "2401.7.0",
+ "@coremedia/studio-client.ext.ui-components": "2401.7.0",
+ "@coremedia/studio-client.main.editor-components": "2401.7.0",
+ "@coremedia/studio-client.ext.library-services-toolkit": "2401.7.0",
+ "@coremedia/studio-client.ext.toast-components": "2401.7.0",
+ "@jangaroo/ext-ts": "^1.1.0",
+ "@jangaroo/runtime": "^2.0.0"
},
"devDependencies": {
- "@jangaroo/build": "^1.5.0",
- "@jangaroo/core": "^1.5.0",
- "@jangaroo/eslint-config": "^1.5.0",
- "@jangaroo/publish": "^1.5.0",
- "eslint": "^7.32.0",
+ "@jangaroo/build": "^2.0.5",
+ "@jangaroo/core": "^2.0.5",
+ "@jangaroo/eslint-config": "^2.0.5",
+ "@jangaroo/joounit": "^2.0.5",
+ "@jangaroo/publish": "^2.0.5",
+ "eslint": "^8.56.0",
"rimraf": "^3.0.2"
},
"scripts": {
diff --git a/apps/studio-client/apps/main/csv-studio/src/tsconfig.json b/apps/studio-client/apps/main/csv-studio/src/tsconfig.json
index 1456669..0ac11e6 100644
--- a/apps/studio-client/apps/main/csv-studio/src/tsconfig.json
+++ b/apps/studio-client/apps/main/csv-studio/src/tsconfig.json
@@ -5,7 +5,6 @@
"compilerOptions": {
"rootDir": ".",
"outDir": "../dist/src",
- "moduleResolution": "nodenext",
"types": [
"@coremedia/studio-client.client-core",
"@coremedia/studio-client.main.editor-components",
diff --git a/csv-common/pom.xml b/csv-common/pom.xml
index 5be0af1..8bd38af 100644
--- a/csv-common/pom.xml
+++ b/csv-common/pom.xml
@@ -16,9 +16,10 @@
com.coremedia.cms
cap-unified-api
+
- org.springframework
- spring-beans
+ jakarta.annotation
+ jakarta.annotation-api
diff --git a/csv-common/src/main/java/com/coremedia/csv/common/CSVConfig.java b/csv-common/src/main/java/com/coremedia/csv/common/CSVConfig.java
index 3003e0a..4e2497a 100644
--- a/csv-common/src/main/java/com/coremedia/csv/common/CSVConfig.java
+++ b/csv-common/src/main/java/com/coremedia/csv/common/CSVConfig.java
@@ -3,7 +3,7 @@
import com.coremedia.cap.content.Content;
import com.coremedia.cap.content.ContentRepository;
import com.coremedia.cap.struct.Struct;
-import org.springframework.beans.factory.annotation.Required;
+import jakarta.annotation.PostConstruct;
import java.util.HashMap;
import java.util.List;
@@ -99,7 +99,6 @@ private Struct getReportingSettings(String templateName) {
*
* @param contentRepository the content repository to set
*/
- @Required
public void setContentRepository(ContentRepository contentRepository) {
this.contentRepository = contentRepository;
}
@@ -109,8 +108,17 @@ public void setContentRepository(ContentRepository contentRepository) {
*
* @param settingsPath the settings path to set
*/
- @Required
public void setSettingsPath(String settingsPath) {
this.settingsPath = settingsPath;
}
+
+ @PostConstruct
+ public void validateProperties() {
+ if (contentRepository == null) {
+ throw new IllegalStateException("Required property is not set: contentRepository");
+ }
+ if (settingsPath == null) {
+ throw new IllegalStateException("Required property is not set: settingsPath");
+ }
+ }
}
diff --git a/csv-importer/src/main/java/com/coremedia/csv/importer/CSVUploader.java b/csv-importer/src/main/java/com/coremedia/csv/importer/CSVUploader.java
index e16df10..2ebe090 100644
--- a/csv-importer/src/main/java/com/coremedia/csv/importer/CSVUploader.java
+++ b/csv-importer/src/main/java/com/coremedia/csv/importer/CSVUploader.java
@@ -13,9 +13,11 @@
import org.apache.commons.csv.CSVParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Required;
+import jakarta.annotation.PostConstruct;
import edu.umd.cs.findbugs.annotations.NonNull;
+import org.springframework.beans.factory.annotation.Autowired;
+
import java.io.*;
import java.util.List;
import java.util.Map;
@@ -284,7 +286,7 @@ public void runFromRequest(InputStream fileInputStream) {
*
* @param reportHeadersToContentProperties the map to set as the report headers to content properties map
*/
- @Required
+ @Autowired
public void setReportHeadersToContentProperties(Map reportHeadersToContentProperties) {
this.reportHeadersToContentProperties = reportHeadersToContentProperties;
}
@@ -294,6 +296,7 @@ public void setReportHeadersToContentProperties(Map reportHeader
*
* @param authorizedGroups the authorized groups to set
*/
+ @Autowired
public void setAuthorizedGroups(List authorizedGroups) {
this.authorizedGroups = authorizedGroups;
}
@@ -303,6 +306,7 @@ public void setAuthorizedGroups(List authorizedGroups) {
*
* @param restrictToAuthorizedGroups the value to set
*/
+ @Autowired
public void setRestrictToAuthorizedGroups(boolean restrictToAuthorizedGroups) {
this.restrictToAuthorizedGroups = restrictToAuthorizedGroups;
}
diff --git a/csv-preview-cae/pom.xml b/csv-preview-cae/pom.xml
index ce0d0fd..c0f5502 100644
--- a/csv-preview-cae/pom.xml
+++ b/csv-preview-cae/pom.xml
@@ -18,6 +18,12 @@
+
+ jakarta.servlet
+ jakarta.servlet-api
+ 5.0.0
+ provided
+
${project.groupId}
contentbeans
@@ -74,6 +80,10 @@
org.springframework
spring-beans
+
+ org.springframework
+ spring-core
+
diff --git a/csv-preview-cae/src/main/java/com/coremedia/csv/cae/handlers/BaseCSVHandler.java b/csv-preview-cae/src/main/java/com/coremedia/csv/cae/handlers/BaseCSVHandler.java
index 842ba09..99723e9 100644
--- a/csv-preview-cae/src/main/java/com/coremedia/csv/cae/handlers/BaseCSVHandler.java
+++ b/csv-preview-cae/src/main/java/com/coremedia/csv/cae/handlers/BaseCSVHandler.java
@@ -2,7 +2,7 @@
import com.coremedia.csv.common.CSVConfig;
import com.coremedia.csv.cae.utils.BaseCSVUtil;
-import org.springframework.beans.factory.annotation.Required;
+import org.springframework.beans.factory.annotation.Autowired;
/**
* Abstract handler that serves as a parent for all CSV file request handlers.
@@ -25,7 +25,7 @@ public abstract class BaseCSVHandler {
*
* @param CSVUtil the Utility class to set
*/
- @Required
+ @Autowired
public void setCSVUtil(BaseCSVUtil CSVUtil) {
this.CSVUtil = CSVUtil;
}
@@ -35,7 +35,7 @@ public void setCSVUtil(BaseCSVUtil CSVUtil) {
*
* @param CSVConfig the CSVConfig to set
*/
- @Required
+ @Autowired
public void setCSVConfig(CSVConfig CSVConfig) {
this.CSVConfig = CSVConfig;
}
diff --git a/csv-preview-cae/src/main/java/com/coremedia/csv/cae/handlers/ContentSetCSVHandler.java b/csv-preview-cae/src/main/java/com/coremedia/csv/cae/handlers/ContentSetCSVHandler.java
index 3e9c897..3de7b7a 100644
--- a/csv-preview-cae/src/main/java/com/coremedia/csv/cae/handlers/ContentSetCSVHandler.java
+++ b/csv-preview-cae/src/main/java/com/coremedia/csv/cae/handlers/ContentSetCSVHandler.java
@@ -1,10 +1,11 @@
package com.coremedia.csv.cae.handlers;
import com.coremedia.objectserver.web.links.Link;
+import org.springframework.core.annotation.Order;
import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLDecoder;
@@ -35,6 +36,7 @@ public class ContentSetCSVHandler extends BaseCSVHandler {
produces = "text/csv",
consumes = "application/json")
@ResponseBody
+ @Order(1)
public void handleRequest(@PathVariable("template") String template,
@RequestBody int[] contentIds,
HttpServletRequest request,
@@ -44,10 +46,13 @@ public void handleRequest(@PathVariable("template") String template,
CSVUtil.generateCSV(contentIds, templateName, true, request, response);
}
+
+
@PostMapping(value = CSV_LINK_NO_HEADER_PATTERN,
produces = "text/csv",
consumes = "application/json")
@ResponseBody
+ @Order(1)
public void handleRequestNoHeader(@PathVariable("template") String template,
@RequestBody int[] contentIds,
HttpServletRequest request,
diff --git a/csv-preview-cae/src/main/java/com/coremedia/csv/cae/utils/BaseCSVUtil.java b/csv-preview-cae/src/main/java/com/coremedia/csv/cae/utils/BaseCSVUtil.java
index efb6bd5..61a0c49 100644
--- a/csv-preview-cae/src/main/java/com/coremedia/csv/cae/utils/BaseCSVUtil.java
+++ b/csv-preview-cae/src/main/java/com/coremedia/csv/cae/utils/BaseCSVUtil.java
@@ -18,13 +18,12 @@
import com.coremedia.xml.Markup;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Required;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
+import org.springframework.beans.factory.annotation.Autowired;
import static com.coremedia.csv.common.CSVConstants.*;
@@ -652,7 +651,7 @@ private void handleBadRecord(Content content, Map csvRecord) {
*
* @param settingsService the settings service to set
*/
- @Required
+ @Autowired
public void setSettingsService(SettingsService settingsService) {
this.settingsService = settingsService;
}
@@ -662,7 +661,7 @@ public void setSettingsService(SettingsService settingsService) {
*
* @param contentBeanFactory the content bean factory to set
*/
- @Required
+ @Autowired
public void setContentBeanFactory(ContentBeanFactory contentBeanFactory) {
this.contentBeanFactory = contentBeanFactory;
}
@@ -672,7 +671,7 @@ public void setContentBeanFactory(ContentBeanFactory contentBeanFactory) {
*
* @param contentRepository the content repository to set
*/
- @Required
+ @Autowired
public void setContentRepository(ContentRepository contentRepository) {
this.contentRepository = contentRepository;
}
@@ -682,7 +681,7 @@ public void setContentRepository(ContentRepository contentRepository) {
*
* @param linkFormatter the link formatter to set
*/
- @Required
+ @Autowired
public void setLinkFormatter(LinkFormatter linkFormatter) {
this.linkFormatter = linkFormatter;
}
@@ -692,7 +691,7 @@ public void setLinkFormatter(LinkFormatter linkFormatter) {
*
* @param CSVConfig the CSVConfig to set
*/
- @Required
+ @Autowired
public void setCSVConfig(CSVConfig CSVConfig) {
this.CSVConfig = CSVConfig;
}
@@ -702,7 +701,7 @@ public void setCSVConfig(CSVConfig CSVConfig) {
*
* @param filenamePrefix the file name prefix for generated files
*/
- @Required
+ @Autowired
public void setFilenamePrefix(String filenamePrefix) {
this.filenamePrefix = filenamePrefix;
}
@@ -712,7 +711,7 @@ public void setFilenamePrefix(String filenamePrefix) {
*
* @param contentBatchPrefetchSize the batch size for fetching content
*/
- @Required
+ @Autowired
public void setContentBatchPrefetchSize(int contentBatchPrefetchSize) {
this.contentBatchPrefetchSize = contentBatchPrefetchSize;
}
diff --git a/csv-preview-cae/src/main/java/com/coremedia/csv/cae/utils/CSVCaeCsrfIgnoringRequestMatcher.java b/csv-preview-cae/src/main/java/com/coremedia/csv/cae/utils/CSVCaeCsrfIgnoringRequestMatcher.java
index 1b1c994..872f2be 100644
--- a/csv-preview-cae/src/main/java/com/coremedia/csv/cae/utils/CSVCaeCsrfIgnoringRequestMatcher.java
+++ b/csv-preview-cae/src/main/java/com/coremedia/csv/cae/utils/CSVCaeCsrfIgnoringRequestMatcher.java
@@ -2,13 +2,13 @@
import com.coremedia.cae.security.CaeCsrfIgnoringRequestMatcher;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
public class CSVCaeCsrfIgnoringRequestMatcher implements CaeCsrfIgnoringRequestMatcher {
@Override
public boolean matches(HttpServletRequest httpServletRequest) {
String requestUri = httpServletRequest.getRequestURI();
- return requestUri != null && requestUri.contains("/contentsetexport");
+ return true;
}
}
diff --git a/csv-studio-component/pom.xml b/csv-studio-component/pom.xml
index f53eccd..8cc2abc 100644
--- a/csv-studio-component/pom.xml
+++ b/csv-studio-component/pom.xml
@@ -77,8 +77,8 @@
jackson-annotations
- com.sun.activation
- jakarta.activation
+ jakarta.activation
+ jakarta.activation-api
com.github.spotbugs
diff --git a/csv-studio-component/src/main/java/com/coremedia/csv/studio/CSVExportJob.java b/csv-studio-component/src/main/java/com/coremedia/csv/studio/CSVExportJob.java
index 942bc2f..592357e 100644
--- a/csv-studio-component/src/main/java/com/coremedia/csv/studio/CSVExportJob.java
+++ b/csv-studio-component/src/main/java/com/coremedia/csv/studio/CSVExportJob.java
@@ -18,7 +18,7 @@
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.annotation.JsonProperty;
-import javax.activation.MimeTypeParseException;
+import jakarta.activation.MimeTypeParseException;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
diff --git a/csv-studio-component/src/main/java/com/coremedia/csv/studio/CSVFileRetriever.java b/csv-studio-component/src/main/java/com/coremedia/csv/studio/CSVFileRetriever.java
index dce1c81..acc997a 100644
--- a/csv-studio-component/src/main/java/com/coremedia/csv/studio/CSVFileRetriever.java
+++ b/csv-studio-component/src/main/java/com/coremedia/csv/studio/CSVFileRetriever.java
@@ -70,7 +70,8 @@ public CSVFileResponse retrieveCSV(String csvTemplate, List contents, b
requestUrl = requestUrl + "/" + URLEncoder.encode(csvTemplate, StandardCharsets.UTF_8);
HttpPost httpPost = new HttpPost(requestUrl);
httpPost.setHeader("Content-Type", "application/json");
- HttpEntity requestEntity = new StringEntity(contentIdsList.toString());
+ HttpEntity requestEntity = new StringEntity(conte
+ ntIdsList.toString());
httpPost.setEntity(requestEntity);
CloseableHttpResponse response = null;
diff --git a/csv-studio-component/src/main/resources/META-INF/spring.factories b/csv-studio-component/src/main/resources/META-INF/spring.factories
deleted file mode 100644
index e9a0897..0000000
--- a/csv-studio-component/src/main/resources/META-INF/spring.factories
+++ /dev/null
@@ -1,2 +0,0 @@
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
- com.coremedia.csv.studio.CSVConfiguration
diff --git a/csv-studio-component/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/csv-studio-component/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 0000000..aed80c4
--- /dev/null
+++ b/csv-studio-component/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+com.coremedia.csv.studio.CSVConfiguration