Optimized the method accessToFolderLink skipping loading of Liferay's users
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-sharing-widget@179560 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
fffde02804
commit
5f4446e7c0
|
@ -0,0 +1,7 @@
|
||||||
|
<root>
|
||||||
|
<facet id="jst.jaxrs">
|
||||||
|
<node name="libprov">
|
||||||
|
<attribute name="provider-id" value="jaxrs-no-op-library-provider"/>
|
||||||
|
</node>
|
||||||
|
</facet>
|
||||||
|
</root>
|
|
@ -4,4 +4,5 @@
|
||||||
<installed facet="jst.web" version="2.3"/>
|
<installed facet="jst.web" version="2.3"/>
|
||||||
<installed facet="wst.jsdt.web" version="1.0"/>
|
<installed facet="wst.jsdt.web" version="1.0"/>
|
||||||
<installed facet="java" version="1.7"/>
|
<installed facet="java" version="1.7"/>
|
||||||
|
<installed facet="jst.jaxrs" version="2.0"/>
|
||||||
</faceted-project>
|
</faceted-project>
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -14,7 +14,7 @@
|
||||||
<groupId>org.gcube.portlets.widgets</groupId>
|
<groupId>org.gcube.portlets.widgets</groupId>
|
||||||
<artifactId>workspace-sharing-widget</artifactId>
|
<artifactId>workspace-sharing-widget</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<version>1.9.0-SNAPSHOT</version>
|
<version>1.9.1-SNAPSHOT</version>
|
||||||
<name>gCube Workspace Sharing Widget</name>
|
<name>gCube Workspace Sharing Widget</name>
|
||||||
<description>
|
<description>
|
||||||
gCube Workspace Sharing Widget allows users to share gCube Workspace items
|
gCube Workspace Sharing Widget allows users to share gCube Workspace items
|
||||||
|
|
|
@ -1307,48 +1307,27 @@ public class WorkspaceSharingServiceImpl extends RemoteServiceServlet implements
|
||||||
OpenResolver openResolverForItem = shc.open(itemId);
|
OpenResolver openResolverForItem = shc.open(itemId);
|
||||||
FolderContainer folderContainer = openResolverForItem.asFolder();
|
FolderContainer folderContainer = openResolverForItem.asFolder();
|
||||||
FolderItem folderItem = folderContainer.get();
|
FolderItem folderItem = folderContainer.get();
|
||||||
InfoContactModel owner = null;
|
|
||||||
if (folderItem != null) {
|
if (folderItem != null) {
|
||||||
logger.debug("Owner: " + folderItem.getOwner());
|
|
||||||
PortalContextInfo info = WsUtil.getPortalContext(this.getThreadLocalRequest());
|
PortalContextInfo info = WsUtil.getPortalContext(this.getThreadLocalRequest());
|
||||||
if (folderItem.getOwner() != null && !folderItem.getOwner().isEmpty()) {
|
|
||||||
GWTWorkspaceSharingBuilder builder = new GWTWorkspaceSharingBuilder();
|
|
||||||
|
|
||||||
List<InfoContactModel> listContactsModel = builder.buildGXTListContactsModelFromUserModel(info);
|
|
||||||
boolean ownerFound = false;
|
|
||||||
for (InfoContactModel icm : listContactsModel) {
|
|
||||||
if (icm.getLogin().compareTo(folderItem.getOwner()) == 0) {
|
|
||||||
logger.debug("Owner Retrieved: " + icm);
|
|
||||||
owner = icm;
|
|
||||||
ownerFound = true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!ownerFound) {
|
|
||||||
logger.debug("Owner not found from user model!");
|
|
||||||
owner = new InfoContactModel(folderItem.getOwner(), folderItem.getOwner(),
|
|
||||||
folderItem.getOwner(), false);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
logger.debug("Owner not found from item");
|
|
||||||
owner = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
String username = info.getUsername();
|
String username = info.getUsername();
|
||||||
|
|
||||||
if (folderItem.isPublicItem()) {
|
if (folderItem.isPublicItem()) {
|
||||||
logger.info("The folder is already public. Access granted to " + username);
|
logger.info("The folder is already public. Access granted to " + username);
|
||||||
return new AllowAccess(itemId, true, "The folder is already public. Access granted to " + username,
|
return new AllowAccess(itemId, true, "The folder is already public. Access granted to " + username,
|
||||||
null);
|
null);
|
||||||
}
|
}
|
||||||
logger.info("The owner of: " + folderItem.getName() + " is: " + owner);
|
|
||||||
|
logger.debug("Owner is: " + folderItem.getOwner());
|
||||||
logger.info("The current context user: " + username);
|
logger.info("The current context user: " + username);
|
||||||
if (owner != null && owner.getLogin().compareToIgnoreCase(username) == 0) {
|
|
||||||
|
if (folderItem.getOwner() != null && folderItem.getOwner().compareToIgnoreCase(username) == 0) {
|
||||||
logger.info("Access to Folder Link " + folderItem.getName() + " granted, " + username
|
logger.info("Access to Folder Link " + folderItem.getName() + " granted, " + username
|
||||||
+ " is the owner of: " + itemId);
|
+ " is the owner of: " + itemId);
|
||||||
return new AllowAccess(itemId, true,
|
return new AllowAccess(itemId, true,
|
||||||
info.getUserFullName() + " is the owner of: " + folderItem.getName(), null);
|
info.getUserFullName() + " is the owner of: " + folderItem.getName(), null);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
List<InfoContactModel> admins = null;
|
List<InfoContactModel> admins = null;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue