fixing the [Incident #12563] Error when trying to publish the content of a workspace folder into the catalogue</Change>
git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/widgets/ckan-metadata-publisher-widget@171733 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
232be5c370
commit
ea24c207dc
|
@ -3,11 +3,11 @@ org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
|
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
|
||||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||||
org.eclipse.jdt.core.compiler.source=1.8
|
org.eclipse.jdt.core.compiler.source=1.7
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
<ReleaseNotes>
|
<ReleaseNotes>
|
||||||
|
<Changeset
|
||||||
|
component="org.gcube.portlets-widgets.ckan-metadata-publisher-widget.1-4-0"
|
||||||
|
date="2018-09-28">
|
||||||
|
<Change>[Incident #12563] Error when trying to publish the content of a workspace folder into the catalogue</Change>
|
||||||
|
</Changeset>
|
||||||
<Changeset
|
<Changeset
|
||||||
component="org.gcube.portlets-widgets.ckan-metadata-publisher-widget.1-3-3"
|
component="org.gcube.portlets-widgets.ckan-metadata-publisher-widget.1-3-3"
|
||||||
date="2018-03-02">
|
date="2018-03-02">
|
||||||
|
@ -39,9 +44,11 @@
|
||||||
component="org.gcube.portlets-widgets.ckan-metadata-publisher-widget.1-2-0"
|
component="org.gcube.portlets-widgets.ckan-metadata-publisher-widget.1-2-0"
|
||||||
date="2016-12-11">
|
date="2016-12-11">
|
||||||
<Change>A post is automatically created by the Product Catalogue user
|
<Change>A post is automatically created by the Product Catalogue user
|
||||||
every time someone publishes</Change>
|
every time someone publishes
|
||||||
|
</Change>
|
||||||
<Change>The user now can select all files in the hierarchy and publish
|
<Change>The user now can select all files in the hierarchy and publish
|
||||||
them</Change>
|
them
|
||||||
|
</Change>
|
||||||
<Change>The user can now associate the product to the available groups
|
<Change>The user can now associate the product to the available groups
|
||||||
</Change>
|
</Change>
|
||||||
<Change>Removed ASL session dependency</Change>
|
<Change>Removed ASL session dependency</Change>
|
||||||
|
@ -52,7 +59,8 @@
|
||||||
<Change>Creation of a group is now supported</Change>
|
<Change>Creation of a group is now supported</Change>
|
||||||
<Change>Association of a dataset to a group is now supported</Change>
|
<Change>Association of a dataset to a group is now supported</Change>
|
||||||
<Change>Products are copied to .catalogue area when publishing is
|
<Change>Products are copied to .catalogue area when publishing is
|
||||||
performed from workspace</Change>
|
performed from workspace
|
||||||
|
</Change>
|
||||||
</Changeset>
|
</Changeset>
|
||||||
<Changeset
|
<Changeset
|
||||||
component="org.gcube.portlets-widgets.ckan-metadata-publisher-widget.1-0-0"
|
component="org.gcube.portlets-widgets.ckan-metadata-publisher-widget.1-0-0"
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
<groupId>org.gcube.portlets.widgets</groupId>
|
<groupId>org.gcube.portlets.widgets</groupId>
|
||||||
<artifactId>ckan-metadata-publisher-widget</artifactId>
|
<artifactId>ckan-metadata-publisher-widget</artifactId>
|
||||||
<version>1.3.3-SNAPSHOT</version>
|
<version>1.4.0-SNAPSHOT</version>
|
||||||
<name>gCube Ckan metadata publisher widget</name>
|
<name>gCube Ckan metadata publisher widget</name>
|
||||||
|
|
||||||
<description>
|
<description>
|
||||||
|
|
|
@ -16,8 +16,8 @@ import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogue;
|
import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogue;
|
||||||
import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogueFactory;
|
import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogueFactory;
|
||||||
import org.gcube.datacatalogue.ckanutillibrary.server.utils.SessionCatalogueAttributes;
|
|
||||||
import org.gcube.datacatalogue.ckanutillibrary.server.utils.CatalogueUtilMethods;
|
import org.gcube.datacatalogue.ckanutillibrary.server.utils.CatalogueUtilMethods;
|
||||||
|
import org.gcube.datacatalogue.ckanutillibrary.server.utils.SessionCatalogueAttributes;
|
||||||
import org.gcube.datacatalogue.ckanutillibrary.shared.ResourceBean;
|
import org.gcube.datacatalogue.ckanutillibrary.shared.ResourceBean;
|
||||||
import org.gcube.datacatalogue.ckanutillibrary.shared.RolesCkanGroupOrOrg;
|
import org.gcube.datacatalogue.ckanutillibrary.shared.RolesCkanGroupOrOrg;
|
||||||
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.CKanPublisherService;
|
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.CKanPublisherService;
|
||||||
|
@ -79,7 +79,7 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
DataCatalogue instance = null;
|
DataCatalogue instance = null;
|
||||||
String scopeInWhichDiscover = null;
|
String scopeInWhichDiscover = null;
|
||||||
try{
|
try{
|
||||||
scopeInWhichDiscover = (scope != null && !scope.isEmpty()) ? scope : GenericUtils.getCurrentContext(getThreadLocalRequest(), false);
|
scopeInWhichDiscover = scope != null && !scope.isEmpty() ? scope : GenericUtils.getCurrentContext(getThreadLocalRequest(), false);
|
||||||
logger.debug("Discovering ckan instance into scope " + scopeInWhichDiscover);
|
logger.debug("Discovering ckan instance into scope " + scopeInWhichDiscover);
|
||||||
instance = DataCatalogueFactory.getFactory().getUtilsPerScope(scopeInWhichDiscover);
|
instance = DataCatalogueFactory.getFactory().getUtilsPerScope(scopeInWhichDiscover);
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
|
@ -546,17 +546,26 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
logger.info("Found user's groups in session " + toReturn);
|
logger.info("Found user's groups in session " + toReturn);
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
DataCatalogue catalogue = getCatalogue(scope);
|
//Fixing Incident #12563
|
||||||
String apiKey = catalogue.getApiKeyFromUsername(username);
|
try{
|
||||||
Map<String, Map<CkanGroup, RolesCkanGroupOrOrg>> mapRoleGroup = catalogue.getUserRoleByGroup(username, apiKey);
|
DataCatalogue catalogue = getCatalogue(scope);
|
||||||
Set<Entry<String, Map<CkanGroup, RolesCkanGroupOrOrg>>> set = mapRoleGroup.entrySet();
|
String apiKey = catalogue.getApiKeyFromUsername(username);
|
||||||
for (Entry<String, Map<CkanGroup, RolesCkanGroupOrOrg>> entry : set) {
|
//Fixing Incident #12563
|
||||||
Set<Entry<CkanGroup, RolesCkanGroupOrOrg>> subSet = entry.getValue().entrySet();
|
if(apiKey!=null && !apiKey.isEmpty()){
|
||||||
for (Entry<CkanGroup, RolesCkanGroupOrOrg> subEntry : subSet) {
|
Map<String, Map<CkanGroup, RolesCkanGroupOrOrg>> mapRoleGroup = catalogue.getUserRoleByGroup(username, apiKey);
|
||||||
toReturn.add(new OrganizationBean(subEntry.getKey().getTitle(), subEntry.getKey().getName(), false));
|
Set<Entry<String, Map<CkanGroup, RolesCkanGroupOrOrg>>> set = mapRoleGroup.entrySet();
|
||||||
}
|
for (Entry<String, Map<CkanGroup, RolesCkanGroupOrOrg>> entry : set) {
|
||||||
|
Set<Entry<CkanGroup, RolesCkanGroupOrOrg>> subSet = entry.getValue().entrySet();
|
||||||
|
for (Entry<CkanGroup, RolesCkanGroupOrOrg> subEntry : subSet) {
|
||||||
|
toReturn.add(new OrganizationBean(subEntry.getKey().getTitle(), subEntry.getKey().getName(), false));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
httpSession.setAttribute(keyPerScopeGroups, toReturn);
|
||||||
|
}else
|
||||||
|
logger.warn("The API_KEY for "+username+ " is null or empty in the catalogue: "+catalogue.getCatalogueUrl());
|
||||||
|
}catch(Exception e){
|
||||||
|
logger.error("Error on recovery the user groups for "+username, e);
|
||||||
}
|
}
|
||||||
httpSession.setAttribute(keyPerScopeGroups, toReturn);
|
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
logger.warn("Dev mode detected");
|
logger.warn("Dev mode detected");
|
||||||
|
|
Loading…
Reference in New Issue