Skip to content

Commit 40b2107

Browse files
Merge remote-tracking branch 'origin/maven/fixes/9.1' into maven/release/9.1
2 parents c4c5229 + e3a9bb8 commit 40b2107

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

Backend/services/core/src/main/java/org/edu_sharing/repository/server/policies/ReservedNodesPolicy.java

+17-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package org.edu_sharing.repository.server.policies;
22

33
import jakarta.annotation.PostConstruct;
4+
import jakarta.servlet.http.HttpServletRequest;
5+
import jakarta.servlet.http.HttpSession;
46
import lombok.RequiredArgsConstructor;
57
import lombok.extern.slf4j.Slf4j;
68
import org.alfresco.model.ContentModel;
@@ -26,6 +28,7 @@
2628
import java.util.List;
2729
import java.util.Map;
2830
import java.util.Objects;
31+
import java.util.Optional;
2932

3033
@Slf4j
3134
@Component
@@ -50,7 +53,7 @@ public void init() {
5053

5154
@Override
5255
public void onCreateNode(ChildAssociationRef childAssocRef) {
53-
checkForResveredNames(childAssocRef.getParentRef(), childAssocRef.getChildRef());
56+
checkForReservedNames(childAssocRef.getParentRef(), childAssocRef.getChildRef());
5457
}
5558

5659
@Override
@@ -59,19 +62,28 @@ public void onUpdateProperties(NodeRef nodeRef, Map<QName, Serializable> before,
5962
return;
6063
}
6164
ChildAssociationRef primaryParent = nodeService.getPrimaryParent(nodeRef);
62-
checkForResveredNames(primaryParent.getParentRef(), nodeRef);
65+
checkForReservedNames(primaryParent.getParentRef(), nodeRef);
6366
}
6467

6568
@Override
6669
public CopyBehaviourCallback getCopyCallback(QName classRef, CopyDetails copyDetails) {
67-
checkForResveredNames(copyDetails.getTargetParentNodeRef(), copyDetails.getSourceNodeRef());
70+
checkForReservedNames(copyDetails.getTargetParentNodeRef(), copyDetails.getSourceNodeRef());
6871
return new DefaultCopyBehaviourCallback();
6972
}
7073

71-
private void checkForResveredNames(NodeRef parentRef, NodeRef childRef) {
74+
private void checkForReservedNames(NodeRef parentRef, NodeRef childRef) {
7275
try {
7376

74-
String userName = new AuthenticationToolAPI().getAuthentication(Context.getCurrentInstance().getRequest().getSession()).get(CCConstants.AUTH_USERNAME);
77+
HttpSession httpSession = Optional.ofNullable(Context.getCurrentInstance())
78+
.map(Context::getRequest)
79+
.map(HttpServletRequest::getSession)
80+
.orElse(null);
81+
82+
if(httpSession == null) {
83+
return;
84+
}
85+
86+
String userName = new AuthenticationToolAPI().getAuthentication(httpSession).get(CCConstants.AUTH_USERNAME);
7587
MCAlfrescoAPIClient baseClient = new MCAlfrescoAPIClient();
7688
String homeFolderID = baseClient.getHomeFolderID(userName);
7789
if (!parentRef.getId().equals(homeFolderID)) {

0 commit comments

Comments
 (0)