From a5cd17254d1dfac4307022e1cfb66ab590971ea9 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Thu, 16 Jun 2016 09:47:24 +0000 Subject: [PATCH] refs:3772: SAI - Create a github project importer https://support.d4science.org/issues/3772 Fixed directory explorer git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/github-connector@129135 82a268e6-3cf1-43bd-a215-b396298e98cf --- pom.xml | 47 ++++++-------- .../client/util/ProgressDialog.java | 65 +++++++++++++++++++ .../server/GitHubConnectorServiceImpl.java | 3 + .../server/git/GitConnectorService.java | 4 +- src/main/webapp/WEB-INF/liferay-display.xml | 4 +- src/main/webapp/WEB-INF/liferay-portlet.xml | 4 +- src/main/webapp/WEB-INF/web.xml | 6 +- 7 files changed, 97 insertions(+), 36 deletions(-) create mode 100644 src/main/java/org/gcube/portlets/widgets/githubconnector/client/util/ProgressDialog.java diff --git a/pom.xml b/pom.xml index ebea13a..1e271c5 100644 --- a/pom.xml +++ b/pom.xml @@ -70,6 +70,11 @@ runtime + + xerces + xerces + 2.4.0 + @@ -100,6 +105,7 @@ runtime + org.gcube.common common-authorization @@ -136,9 +142,13 @@ javax.portlet portlet-api + + + - org.gcube.applicationsupportlayer - accesslogger + org.gcube.core + common-scope-maps + compile @@ -147,25 +157,17 @@ - org.gcube.core - common-scope-maps - compile + org.gcube.applicationsupportlayer + aslcore - org.gcube.applicationsupportlayer - aslcore + org.gcube.dvos + usermanagement-core provided - - - xalan - xalan - - - org.gcube.common @@ -179,7 +181,7 @@ provided - + org.gcube.portlets.user gcube-widgets @@ -193,16 +195,6 @@ [0.0.0-SNAPSHOT,1.0.0-SNAPSHOT) - - - org.gcube.applicationsupportlayer - aslsocial - - - - - - org.gcube.contentmanagement @@ -267,7 +259,7 @@ com.allen-sauer.gwt.log gwt-log ${gwtLogVersion} - + org.slf4j slf4j-api @@ -384,6 +376,7 @@ + gCubeExternal @@ -400,7 +393,7 @@ org.gcube.distribution maven-portal-bom - 2.6.0-SNAPSHOT + LATEST pom import diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/client/util/ProgressDialog.java b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/util/ProgressDialog.java new file mode 100644 index 0000000..a9a04ed --- /dev/null +++ b/src/main/java/org/gcube/portlets/widgets/githubconnector/client/util/ProgressDialog.java @@ -0,0 +1,65 @@ +package org.gcube.portlets.widgets.githubconnector.client.util; + +import com.google.gwt.core.client.Callback; +import com.google.gwt.dom.client.Style.Unit; +import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.event.dom.client.ClickHandler; +import com.google.gwt.user.client.ui.Button; +import com.google.gwt.user.client.ui.DialogBox; +import com.google.gwt.user.client.ui.DockPanel; +import com.google.gwt.user.client.ui.HTML; + +/** + * + * @author Giancarlo Panichi email: g.panichi@isti.cnr.it + * + */ +public class ProgressDialog extends DialogBox implements ClickHandler { + private Callback callback; + protected HTML msg; + protected double msgMinWidth=200; + protected double msgMinHeight=30; + + + public ProgressDialog(String title, String text) { + init(title, text); + } + + public ProgressDialog(String title, String text, Callback callback) { + init(title, text); + } + + private void init(String title, String text) { + setText(title); + + + + Button closeButton = new Button("Close", this); + msg = new HTML(text, true); + msg.getElement().getStyle().setProperty("minWidth", msgMinWidth, Unit.PX); + msg.getElement().getStyle().setProperty("minHeight",msgMinHeight, Unit.PX); + + DockPanel dock = new DockPanel(); + dock.setSpacing(4); + + + dock.add(closeButton, DockPanel.SOUTH); + dock.add(msg, DockPanel.CENTER); + + dock.setCellHorizontalAlignment(closeButton, DockPanel.ALIGN_CENTER); + dock.setWidth("100%"); + setWidget(dock); + center(); + } + + @Override + public void onClick(ClickEvent event) { + if(callback!=null){ + callback.onSuccess(null); + } + hide(); + + + } +} \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/server/GitHubConnectorServiceImpl.java b/src/main/java/org/gcube/portlets/widgets/githubconnector/server/GitHubConnectorServiceImpl.java index 565b8f5..7ecd864 100644 --- a/src/main/java/org/gcube/portlets/widgets/githubconnector/server/GitHubConnectorServiceImpl.java +++ b/src/main/java/org/gcube/portlets/widgets/githubconnector/server/GitHubConnectorServiceImpl.java @@ -47,6 +47,7 @@ public class GitHubConnectorServiceImpl extends RemoteServiceServlet implements try { HttpSession session = this.getThreadLocalRequest().getSession(); ASLSession aslSession = SessionUtil.getASLSession(session); + SessionUtil.getToken(aslSession); logger.debug("hello()"); UserInfo userInfo = new UserInfo(aslSession.getUsername(), aslSession.getGroupId(), aslSession.getGroupName(), @@ -72,6 +73,7 @@ public class GitHubConnectorServiceImpl extends RemoteServiceServlet implements try { HttpSession session = this.getThreadLocalRequest().getSession(); ASLSession aslSession = SessionUtil.getASLSession(session); + SessionUtil.getToken(aslSession); logger.debug("getRepository(): " + gitHubCredential); GitConnectorService gitConnectorService = new GitConnectorService( aslSession.getUsername(), gitHubCredential); @@ -92,6 +94,7 @@ public class GitHubConnectorServiceImpl extends RemoteServiceServlet implements try { HttpSession session = this.getThreadLocalRequest().getSession(); ASLSession aslSession = SessionUtil.getASLSession(session); + SessionUtil.getToken(aslSession); logger.debug("cloneRepository(): " + gitHubCloneSession); GitConnectorService gitConnectorService = new GitConnectorService( aslSession.getUsername(), diff --git a/src/main/java/org/gcube/portlets/widgets/githubconnector/server/git/GitConnectorService.java b/src/main/java/org/gcube/portlets/widgets/githubconnector/server/git/GitConnectorService.java index 2964b00..3080449 100644 --- a/src/main/java/org/gcube/portlets/widgets/githubconnector/server/git/GitConnectorService.java +++ b/src/main/java/org/gcube/portlets/widgets/githubconnector/server/git/GitConnectorService.java @@ -167,10 +167,10 @@ public class GitConnectorService { + destinationFolderId + ", folderName=" + contents.getName() + ", folderDescription=" + contents.getName() + "]"); - StorageUtil.createFolderOnWorkspace(userName, destinationFolderId, + String internalFolderId=StorageUtil.createFolderOnWorkspace(userName, destinationFolderId, contents.getName(), contents.getName()); - createContent(destinationFolderId, repository, contents.getPath()); + createContent(internalFolderId, repository, contents.getPath()); } catch (ServiceException e) { throw e; } catch (Throwable e) { diff --git a/src/main/webapp/WEB-INF/liferay-display.xml b/src/main/webapp/WEB-INF/liferay-display.xml index 584d8e7..f2b5468 100644 --- a/src/main/webapp/WEB-INF/liferay-display.xml +++ b/src/main/webapp/WEB-INF/liferay-display.xml @@ -1,6 +1,6 @@ - - + diff --git a/src/main/webapp/WEB-INF/liferay-portlet.xml b/src/main/webapp/WEB-INF/liferay-portlet.xml index 414ea08..5da426f 100644 --- a/src/main/webapp/WEB-INF/liferay-portlet.xml +++ b/src/main/webapp/WEB-INF/liferay-portlet.xml @@ -1,6 +1,6 @@ - - + GitHubConnector diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 38fc8ad..e73d7ae 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -1,7 +1,7 @@ - GitHubConnectorServlet