Skip to content

Commit 2f9aa24

Browse files
authored
Merge branch 'develop' into disableUploadButton
2 parents bed2fa8 + 6a77fac commit 2f9aa24

13 files changed

Lines changed: 91 additions & 31 deletions

File tree

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file.
44
This project adheres to [Semantic Versioning](http://semver.org/).
55
The format is based on [Keep a Changelog](http://keepachangelog.com/).
66

7+
## Version 1.9.0
8+
9+
### Added
10+
- Support attachment creation in active entities
11+
12+
### Fixed
13+
- Separate UI and backend error keys for localization
14+
- Fix upload status when attachments are copied
15+
716
## Version 1.8.1
817

918
### Fixed

sdm/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<test-generation-folder>src/test/gen</test-generation-folder>
3535
<maven.compiler.source>17</maven.compiler.source>
3636
<maven.compiler.target>17</maven.compiler.target>
37-
<attachments_version>1.3.1</attachments_version>
37+
<attachments_version>1.5.0</attachments_version>
3838
<lombok.version>1.18.36</lombok.version>
3939
<jacoco.version>0.8.7</jacoco.version>
4040
<ehcache-version>3.10.8</ehcache-version>

sdm/src/main/java/com/sap/cds/sdm/handler/TokenHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public Map<String, Object> getUaaCredentials() {
7171
DefaultServiceBindingAccessor.getInstance().getServiceBindings();
7272
ServiceBinding sdmBinding =
7373
allServiceBindings.stream()
74-
.filter(binding -> "sdm".equalsIgnoreCase(binding.getServiceName().orElse(null)))
74+
.filter(binding -> binding.getTags().contains("sdm"))
7575
.findFirst()
7676
.orElseThrow(() -> new IllegalStateException("SDM binding not found"));
7777
return sdmBinding.getCredentials();

sdm/src/main/java/com/sap/cds/sdm/persistence/DBQuery.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.sap.cds.sdm.utilities.SDMUtils;
2121
import com.sap.cds.services.ServiceException;
2222
import com.sap.cds.services.persistence.PersistenceService;
23+
import java.time.Instant;
2324
import java.util.*;
2425
import java.util.ArrayList;
2526
import org.slf4j.Logger;
@@ -426,6 +427,7 @@ public void addAttachmentToDraft(
426427
updatedFields.put("repositoryId", repositoryId);
427428
updatedFields.put("folderId", cmisDocument.getFolderId());
428429
updatedFields.put("status", "Clean");
430+
updatedFields.put("scannedAt", Instant.now());
429431
updatedFields.put("type", "sap-icon://document");
430432
updatedFields.put("mimeType", cmisDocument.getMimeType());
431433
updatedFields.put("uploadStatus", cmisDocument.getUploadStatus());

sdm/src/main/java/com/sap/cds/sdm/service/SDMAttachmentsService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,8 @@ public AttachmentModificationResult createAttachment(CreateAttachmentInput input
181181
return new AttachmentModificationResult(
182182
Boolean.TRUE.equals(createContext.getIsInternalStored()),
183183
createContext.getContentId(),
184-
createContext.getData().getStatus());
184+
createContext.getData().getStatus(),
185+
Instant.now());
185186
}
186187

187188
@Override

sdm/src/main/java/com/sap/cds/sdm/service/SDMService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ public String getFolderIdByPath(
3333

3434
public JSONObject getRepositoryInfo(SDMCredentials sdmCredentials) throws IOException;
3535

36-
public int deleteDocument(String cmisaction, String objectId, String user) throws IOException;
36+
public int deleteDocument(String cmisaction, String objectId, String user, Boolean isSystemUser)
37+
throws IOException;
3738

3839
public void readDocument(
3940
String objectId, SDMCredentials sdmCredentials, AttachmentReadEventContext context)

sdm/src/main/java/com/sap/cds/sdm/service/SDMServiceImpl.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -660,13 +660,17 @@ public Map<String, RepoValue> fetchRepositoryData(JSONObject repoInfo, String re
660660
}
661661

662662
@Override
663-
public int deleteDocument(String cmisaction, String objectId, String user) {
663+
public int deleteDocument(String cmisaction, String objectId, String user, Boolean isSytemUser) {
664664
logger.info(
665-
"Deleting document - action: {}, objectId: {}, user: {}", cmisaction, objectId, user);
665+
"Deleting document - action: {}, objectId: {}, user: {},isSystemUser :{}",
666+
cmisaction,
667+
objectId,
668+
user,
669+
isSytemUser);
666670
long startTime = System.currentTimeMillis();
667671
SDMCredentials sdmCredentials = tokenHandler.getSDMCredentials();
668672
HttpClient httpClient;
669-
if (user.equals(SDMConstants.SYSTEM_USER)) {
673+
if (isSytemUser) {
670674
logger.debug("Using TECHNICAL_USER_FLOW for deletion");
671675
httpClient = tokenHandler.getHttpClient(binding, connectionPool, null, TECHNICAL_USER_FLOW);
672676
} else {

sdm/src/main/java/com/sap/cds/sdm/service/handler/SDMAttachmentsServiceHandler.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.sap.cds.services.utils.StringUtils;
2626
import java.io.IOException;
2727
import java.io.InputStream;
28+
import java.time.Instant;
2829
import java.util.*;
2930
import java.util.stream.Collectors;
3031
import org.json.JSONObject;
@@ -108,12 +109,20 @@ public void markAttachmentAsDeleted(AttachmentMarkAsDeletedEventContext context)
108109
if (cmisDocuments.isEmpty()) {
109110
// deleteFolder API
110111
logger.info("Deleting folder: {} for entity: {}", folderId, entity);
111-
sdmService.deleteDocument("deleteTree", folderId, context.getDeletionUserInfo().getName());
112+
sdmService.deleteDocument(
113+
"deleteTree",
114+
folderId,
115+
context.getDeletionUserInfo().getName(),
116+
context.getDeletionUserInfo().getIsSystemUser());
112117
logger.info("Folder deleted successfully: {}", folderId);
113118
} else {
114119
if (!isObjectIdPresent(cmisDocuments, objectId)) {
115120
logger.info("Deleting document: {} from repository", objectId);
116-
sdmService.deleteDocument("delete", objectId, context.getDeletionUserInfo().getName());
121+
sdmService.deleteDocument(
122+
"delete",
123+
objectId,
124+
context.getDeletionUserInfo().getName(),
125+
context.getDeletionUserInfo().getIsSystemUser());
117126
logger.info("Document deleted successfully: {}", objectId);
118127
} else {
119128
logger.debug("ObjectId {} is still referenced, not deleting", objectId);
@@ -527,6 +536,7 @@ private void handleCreateDocumentResult(
527536
+ ":"
528537
+ parentIdForContentId);
529538
eventContext.getData().setStatus("Clean");
539+
eventContext.getData().setScannedAt(Instant.now());
530540
eventContext.getData().setContent(null);
531541
eventContext.setCompleted();
532542
return;
@@ -824,6 +834,7 @@ private void finalizeContext(
824834
+ ":"
825835
+ upIdSegment);
826836
eventContext.getData().setStatus("Clean");
837+
eventContext.getData().setScannedAt(Instant.now());
827838
eventContext.getData().setContent(null);
828839
eventContext.setCompleted();
829840
logger.debug("Attachment context finalized and marked as completed");

sdm/src/main/java/com/sap/cds/sdm/service/handler/SDMCustomServiceHandler.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1525,13 +1525,20 @@ private void handleCopyFailure(
15251525
logger.error("Copy failure detected, initiating cleanup. Error: {}", e.getMessage());
15261526
if (!folderExists) {
15271527
logger.debug("Deleting newly created folder: {}", folderId);
1528-
sdmService.deleteDocument("deleteTree", folderId, context.getUserInfo().getName());
1528+
sdmService.deleteDocument(
1529+
"deleteTree",
1530+
folderId,
1531+
context.getUserInfo().getName(),
1532+
context.getUserInfo().isSystemUser());
15291533
} else {
15301534
logger.debug(
15311535
"Deleting {} copied attachments from existing folder", attachmentsMetadata.size());
15321536
for (Map<String, String> attachmentMetadata : attachmentsMetadata) {
15331537
sdmService.deleteDocument(
1534-
"delete", attachmentMetadata.get("cmis:objectId"), context.getUserInfo().getName());
1538+
"delete",
1539+
attachmentMetadata.get("cmis:objectId"),
1540+
context.getUserInfo().getName(),
1541+
context.getUserInfo().isSystemUser());
15351542
}
15361543
}
15371544
throw new ServiceException(e.getMessage());

sdm/src/test/java/unit/com/sap/cds/sdm/handler/TokenHandlerTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ public void testGetSDMCredentials() {
140140
mockCredentials.put("uaa", mockUaa);
141141
mockCredentials.put("uri", "https://mock.service.url");
142142

143-
Mockito.when(mockServiceBinding.getServiceName()).thenReturn(Optional.of("sdm"));
143+
Mockito.when(mockServiceBinding.getTags()).thenReturn(Collections.singletonList("sdm"));
144144
Mockito.when(mockServiceBinding.getCredentials()).thenReturn(mockCredentials);
145145

146146
List<ServiceBinding> mockServiceBindings = Collections.singletonList(mockServiceBinding);
@@ -202,7 +202,7 @@ public void testGetHttpClientForOnboardFlow() {
202202
mockCredentials.put("uaa", mockUaa);
203203
mockCredentials.put("uri", "https://mock.service.url");
204204

205-
Mockito.when(mockServiceBinding.getServiceName()).thenReturn(Optional.of("sdm"));
205+
Mockito.when(mockServiceBinding.getTags()).thenReturn(Collections.singletonList("sdm"));
206206
Mockito.when(mockServiceBinding.getCredentials()).thenReturn(mockCredentials);
207207

208208
List<ServiceBinding> mockServiceBindings = Collections.singletonList(mockServiceBinding);

0 commit comments

Comments
 (0)