none
This commit is contained in:
parent
a2d522d7e8
commit
182cc8a94c
|
@ -4,6 +4,10 @@
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [v1.4.2-SNAPSHOT] - 2021-04-06
|
||||||
|
|
||||||
|
Removed legacy auth dependency
|
||||||
|
|
||||||
## [v1.4.1] - 2021-01-26
|
## [v1.4.1] - 2021-01-26
|
||||||
|
|
||||||
- Fix Bug #20552 Workspace widget item counter no longer works
|
- Fix Bug #20552 Workspace widget item counter no longer works
|
||||||
|
|
4
pom.xml
4
pom.xml
|
@ -13,7 +13,7 @@
|
||||||
<artifactId>workspace-widget-portlet</artifactId>
|
<artifactId>workspace-widget-portlet</artifactId>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
<name>workspace-widget-portlet Portlet</name>
|
<name>workspace-widget-portlet Portlet</name>
|
||||||
<version>1.4.1</version>
|
<version>1.4.2-SNAPSHOT</version>
|
||||||
<description>
|
<description>
|
||||||
Workspace Widget Portlet is a small Front-end component looking like G Drive which exposes the content of the user's workspace or VRE Folders in read only mode.
|
Workspace Widget Portlet is a small Front-end component looking like G Drive which exposes the content of the user's workspace or VRE Folders in read only mode.
|
||||||
</description>
|
</description>
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.distribution</groupId>
|
<groupId>org.gcube.distribution</groupId>
|
||||||
<artifactId>maven-portal-bom</artifactId>
|
<artifactId>maven-portal-bom</artifactId>
|
||||||
<version>3.6.0</version>
|
<version>3.6.1-SNAPSHOT</version>
|
||||||
<type>pom</type>
|
<type>pom</type>
|
||||||
<scope>import</scope>
|
<scope>import</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
|
@ -25,6 +25,7 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
public class ItemBuilder {
|
public class ItemBuilder {
|
||||||
|
|
||||||
public static final Logger _log = LoggerFactory.getLogger(ItemBuilder.class);
|
public static final Logger _log = LoggerFactory.getLogger(ItemBuilder.class);
|
||||||
|
@ -37,6 +38,7 @@ public class ItemBuilder {
|
||||||
* @param currentUserName
|
* @param currentUserName
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
public static WSItem getItem(WSItem parent, Item workspaceItem, String workspaceItemPath, String currentUserName) {
|
public static WSItem getItem(WSItem parent, Item workspaceItem, String workspaceItemPath, String currentUserName) {
|
||||||
ItemType type = getItemType(workspaceItem);
|
ItemType type = getItemType(workspaceItem);
|
||||||
boolean isFolder = type.equals(ItemType.PRIVATE_FOLDER)?true:false;
|
boolean isFolder = type.equals(ItemType.PRIVATE_FOLDER)?true:false;
|
||||||
|
|
|
@ -7,9 +7,9 @@ import java.util.List;
|
||||||
import javax.portlet.ResourceRequest;
|
import javax.portlet.ResourceRequest;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
|
||||||
import org.gcube.common.portal.GCubePortalConstants;
|
import org.gcube.common.portal.GCubePortalConstants;
|
||||||
import org.gcube.common.portal.PortalContext;
|
import org.gcube.common.portal.PortalContext;
|
||||||
|
import org.gcube.common.scope.api.ScopeProvider;
|
||||||
import org.gcube.common.storagehub.client.plugins.AbstractPlugin;
|
import org.gcube.common.storagehub.client.plugins.AbstractPlugin;
|
||||||
import org.gcube.common.storagehub.client.proxies.ItemManagerClient;
|
import org.gcube.common.storagehub.client.proxies.ItemManagerClient;
|
||||||
import org.gcube.common.storagehub.client.proxies.WorkspaceManagerClient;
|
import org.gcube.common.storagehub.client.proxies.WorkspaceManagerClient;
|
||||||
|
@ -35,7 +35,6 @@ public class StorageHubServiceUtil {
|
||||||
WSItem toReturn = new WSItem(itemId, itemName, true);
|
WSItem toReturn = new WSItem(itemId, itemName, true);
|
||||||
_log.debug("getItemChildren folder/item = " + itemId);
|
_log.debug("getItemChildren folder/item = " + itemId);
|
||||||
ArrayList<WSItem> children = new ArrayList<>();
|
ArrayList<WSItem> children = new ArrayList<>();
|
||||||
SecurityTokenProvider.instance.set(authUser.getSecurityToken());
|
|
||||||
ItemManagerClient client = AbstractPlugin.item().build();
|
ItemManagerClient client = AbstractPlugin.item().build();
|
||||||
List<? extends Item> theChildren = null;
|
List<? extends Item> theChildren = null;
|
||||||
try {
|
try {
|
||||||
|
@ -68,10 +67,6 @@ public class StorageHubServiceUtil {
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static int getItemChildrenCount(ResourceRequest request, String itemId) {
|
public static int getItemChildrenCount(ResourceRequest request, String itemId) {
|
||||||
String userName = Utils.getCurrentUser(request).getUsername();
|
|
||||||
String scope = Utils.getCurrentContext(request);
|
|
||||||
String authorizationToken = Utils.getCurrentUserToken(scope, userName);
|
|
||||||
SecurityTokenProvider.instance.set(authorizationToken);
|
|
||||||
ItemManagerClient client = AbstractPlugin.item().build();
|
ItemManagerClient client = AbstractPlugin.item().build();
|
||||||
int toReturn = -1;
|
int toReturn = -1;
|
||||||
try {
|
try {
|
||||||
|
@ -91,7 +86,6 @@ public class StorageHubServiceUtil {
|
||||||
*/
|
*/
|
||||||
public static List<WSItem> getRootChildren(AuthorizedUser authUser, int from, int offset) {
|
public static List<WSItem> getRootChildren(AuthorizedUser authUser, int from, int offset) {
|
||||||
try {
|
try {
|
||||||
SecurityTokenProvider.instance.set(authUser.getSecurityToken());
|
|
||||||
WorkspaceManagerClient client = AbstractPlugin.workspace().build();
|
WorkspaceManagerClient client = AbstractPlugin.workspace().build();
|
||||||
Item itemRoot = client.getWorkspace("hl:accounting");
|
Item itemRoot = client.getWorkspace("hl:accounting");
|
||||||
WSItem root = new WSItem(itemRoot.getId(), Utils.HOME_LABEL, true);
|
WSItem root = new WSItem(itemRoot.getId(), Utils.HOME_LABEL, true);
|
||||||
|
@ -112,7 +106,6 @@ public class StorageHubServiceUtil {
|
||||||
WSItem toReturn = new WSItem("recents", "Recent Documents", true);
|
WSItem toReturn = new WSItem("recents", "Recent Documents", true);
|
||||||
_log.debug("getRecentItems ");
|
_log.debug("getRecentItems ");
|
||||||
ArrayList<WSItem> children = new ArrayList<>();
|
ArrayList<WSItem> children = new ArrayList<>();
|
||||||
SecurityTokenProvider.instance.set(authUser.getSecurityToken());
|
|
||||||
WorkspaceManagerClient wsclient = AbstractPlugin.workspace().build();
|
WorkspaceManagerClient wsclient = AbstractPlugin.workspace().build();
|
||||||
List<? extends Item> theChildren = wsclient.getRecentModifiedFilePerVre();
|
List<? extends Item> theChildren = wsclient.getRecentModifiedFilePerVre();
|
||||||
|
|
||||||
|
@ -136,10 +129,6 @@ public class StorageHubServiceUtil {
|
||||||
* @return the id of the VRE Folder associated to the given context
|
* @return the id of the VRE Folder associated to the given context
|
||||||
*/
|
*/
|
||||||
public static String getWorkspaceFolderURL(HttpServletRequest request) {
|
public static String getWorkspaceFolderURL(HttpServletRequest request) {
|
||||||
String userName = Utils.getCurrentUser(request).getUsername();
|
|
||||||
String scope = Utils.getCurrentContext(request);
|
|
||||||
String authorizationToken = Utils.getCurrentUserToken(scope, userName);
|
|
||||||
SecurityTokenProvider.instance.set(authorizationToken);
|
|
||||||
String siteLandingPagePath = PortalContext.getConfiguration().getSiteLandingPagePath(request);
|
String siteLandingPagePath = PortalContext.getConfiguration().getSiteLandingPagePath(request);
|
||||||
String toReturn = siteLandingPagePath;
|
String toReturn = siteLandingPagePath;
|
||||||
|
|
||||||
|
@ -161,11 +150,9 @@ public class StorageHubServiceUtil {
|
||||||
* @return the VRE Folders Id
|
* @return the VRE Folders Id
|
||||||
*/
|
*/
|
||||||
public static String getVREFoldersId(HttpServletRequest request) {
|
public static String getVREFoldersId(HttpServletRequest request) {
|
||||||
String userName = Utils.getCurrentUser(request).getUsername();
|
|
||||||
String scope = Utils.getCurrentContext(request);
|
|
||||||
String authorizationToken = Utils.getCurrentUserToken(scope, userName);
|
|
||||||
SecurityTokenProvider.instance.set(authorizationToken);
|
|
||||||
String toReturn = "";
|
String toReturn = "";
|
||||||
|
String currentContext = PortalContext.getConfiguration().getCurrentScope(request);
|
||||||
|
ScopeProvider.instance.set(currentContext);
|
||||||
try {
|
try {
|
||||||
WorkspaceManagerClient wsclient = AbstractPlugin.workspace().build();
|
WorkspaceManagerClient wsclient = AbstractPlugin.workspace().build();
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -12,7 +12,6 @@ import javax.portlet.ResourceResponse;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
|
||||||
import org.gcube.common.storagehub.client.StreamDescriptor;
|
import org.gcube.common.storagehub.client.StreamDescriptor;
|
||||||
import org.gcube.common.storagehub.client.dsl.FileContainer;
|
import org.gcube.common.storagehub.client.dsl.FileContainer;
|
||||||
import org.gcube.common.storagehub.client.dsl.ItemContainer;
|
import org.gcube.common.storagehub.client.dsl.ItemContainer;
|
||||||
|
@ -73,6 +72,7 @@ public class WorkspaceWidget extends MVCPortlet {
|
||||||
} else {
|
} else {
|
||||||
fileContainer = client.open(selectedItemId).asFile();
|
fileContainer = client.open(selectedItemId).asFile();
|
||||||
streamDescr = fileContainer.download(selectedItemId);
|
streamDescr = fileContainer.download(selectedItemId);
|
||||||
|
_log.info("*** DONE fileContainer.download for itemid=" +selectedItemId);
|
||||||
}
|
}
|
||||||
if (item instanceof ExternalURL) { //if is a type URL we open directly the link (HL Created it)
|
if (item instanceof ExternalURL) { //if is a type URL we open directly the link (HL Created it)
|
||||||
Scanner sc = new Scanner( streamDescr.getStream());
|
Scanner sc = new Scanner( streamDescr.getStream());
|
||||||
|
@ -85,7 +85,8 @@ public class WorkspaceWidget extends MVCPortlet {
|
||||||
} catch (StorageHubException e) {
|
} catch (StorageHubException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
if (! (item instanceof ExternalURL || item instanceof ExternalLink)) {
|
if (! (item instanceof ExternalURL || item instanceof ExternalLink)) {
|
||||||
|
|
||||||
HttpServletRequest httpReq = PortalUtil.getHttpServletRequest(resourceRequest);
|
HttpServletRequest httpReq = PortalUtil.getHttpServletRequest(resourceRequest);
|
||||||
ServletResponseUtil.sendFile(httpReq,httpRes, streamDescr.getFileName(), streamDescr.getStream(), "application/download");
|
ServletResponseUtil.sendFile(httpReq,httpRes, streamDescr.getFileName(), streamDescr.getStream(), "application/download");
|
||||||
streamDescr.getStream().close();
|
streamDescr.getStream().close();
|
||||||
|
@ -257,10 +258,6 @@ public class WorkspaceWidget extends MVCPortlet {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static WSItem getRootItem(ResourceRequest request) {
|
private static WSItem getRootItem(ResourceRequest request) {
|
||||||
String userName = Utils.getCurrentUser(request).getUsername();
|
|
||||||
String scope = Utils.getCurrentContext(request);
|
|
||||||
String authorizationToken = Utils.getCurrentUserToken(scope, userName);
|
|
||||||
SecurityTokenProvider.instance.set(authorizationToken);
|
|
||||||
WorkspaceManagerClient client = AbstractPlugin.workspace().build();
|
WorkspaceManagerClient client = AbstractPlugin.workspace().build();
|
||||||
Item itemRoot = client.getWorkspace("hl:accounting");
|
Item itemRoot = client.getWorkspace("hl:accounting");
|
||||||
WSItem root = new WSItem(itemRoot.getId(), Utils.HOME_LABEL, true);
|
WSItem root = new WSItem(itemRoot.getId(), Utils.HOME_LABEL, true);
|
||||||
|
@ -276,9 +273,6 @@ public class WorkspaceWidget extends MVCPortlet {
|
||||||
*/
|
*/
|
||||||
private AuthorizedUser setAuthorizationToken(ResourceRequest request) {
|
private AuthorizedUser setAuthorizationToken(ResourceRequest request) {
|
||||||
GCubeUser currentUser = Utils.getCurrentUser(request);
|
GCubeUser currentUser = Utils.getCurrentUser(request);
|
||||||
String scope = Utils.getCurrentContext(request);
|
return new AuthorizedUser(currentUser);
|
||||||
String authorizationToken = Utils.getCurrentUserToken(scope, currentUser.getUsername());
|
|
||||||
SecurityTokenProvider.instance.set(authorizationToken);
|
|
||||||
return new AuthorizedUser(currentUser, authorizationToken, scope);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,11 +6,10 @@ public class AuthorizedUser {
|
||||||
private GCubeUser user;
|
private GCubeUser user;
|
||||||
private String token;
|
private String token;
|
||||||
private String context;
|
private String context;
|
||||||
public AuthorizedUser(GCubeUser user, String token, String context) {
|
public AuthorizedUser(GCubeUser user) {
|
||||||
super();
|
super();
|
||||||
this.user = user;
|
this.user = user;
|
||||||
this.token = token;
|
|
||||||
this.context = context;
|
|
||||||
}
|
}
|
||||||
public GCubeUser getUser() {
|
public GCubeUser getUser() {
|
||||||
return user;
|
return user;
|
||||||
|
@ -18,18 +17,7 @@ public class AuthorizedUser {
|
||||||
public void setUser(GCubeUser user) {
|
public void setUser(GCubeUser user) {
|
||||||
this.user = user;
|
this.user = user;
|
||||||
}
|
}
|
||||||
public String getSecurityToken() {
|
|
||||||
return token;
|
|
||||||
}
|
|
||||||
public void setSecurityToken(String token) {
|
|
||||||
this.token = token;
|
|
||||||
}
|
|
||||||
public String getContext() {
|
|
||||||
return context;
|
|
||||||
}
|
|
||||||
public void setContext(String context) {
|
|
||||||
this.context = context;
|
|
||||||
}
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
|
|
Loading…
Reference in New Issue