fix for name translation
git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/widgets/ckan-metadata-publisher-widget@129062 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
51c3fb40b1
commit
9a95392ea1
|
@ -73,13 +73,24 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the scope in which we look for metadata
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private String getMetadataScope(){
|
||||||
|
if(isWithinPortal())
|
||||||
|
return ScopeProvider.instance.get();
|
||||||
|
else
|
||||||
|
return "/gcube/devsec/devVRE"; // Development
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the ckan catalogue url for this scope.
|
* Return the ckan catalogue url for this scope.
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private String getCatalogueUrl(){
|
private String getCatalogueUrl(){
|
||||||
|
|
||||||
logger.info("Request for catalogue url");
|
logger.debug("Request for catalogue url");
|
||||||
|
|
||||||
try{
|
try{
|
||||||
String currentScope = getCurrentScope();
|
String currentScope = getCurrentScope();
|
||||||
|
@ -98,7 +109,7 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
*/
|
*/
|
||||||
private String getCKANApikeyFromUser(String owner) {
|
private String getCKANApikeyFromUser(String owner) {
|
||||||
|
|
||||||
logger.info("Request for user api key");
|
logger.debug("Request for user api key");
|
||||||
|
|
||||||
try{
|
try{
|
||||||
String currentScope = getCurrentScope();
|
String currentScope = getCurrentScope();
|
||||||
|
@ -117,7 +128,7 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
*/
|
*/
|
||||||
private List<String> getUserOrganizationsList(String owner) {
|
private List<String> getUserOrganizationsList(String owner) {
|
||||||
|
|
||||||
logger.info("Request for user " + owner + " organizations list");
|
logger.debug("Request for user " + owner + " organizations list");
|
||||||
|
|
||||||
try{
|
try{
|
||||||
|
|
||||||
|
@ -173,7 +184,7 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
ScopeProvider.instance.set("/gcube/devsec/devVRE"); // TODO remove
|
ScopeProvider.instance.set(getMetadataScope()); // TODO remove
|
||||||
DataCalogueMetadataFormatReader reader = new DataCalogueMetadataFormatReader();
|
DataCalogueMetadataFormatReader reader = new DataCalogueMetadataFormatReader();
|
||||||
|
|
||||||
for (MetadataType mt : reader.getListOfMetadataTypes()) {
|
for (MetadataType mt : reader.getListOfMetadataTypes()) {
|
||||||
|
@ -203,7 +214,7 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
wrapperList.add(wrapperObj);
|
wrapperList.add(wrapperObj);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// wrap the mt as well
|
// wrap the mt as well
|
||||||
MetaDataTypeWrapper typeWrapper = new MetaDataTypeWrapper();
|
MetaDataTypeWrapper typeWrapper = new MetaDataTypeWrapper();
|
||||||
typeWrapper.setDescription(mt.getDescription());
|
typeWrapper.setDescription(mt.getDescription());
|
||||||
|
@ -412,8 +423,8 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
dataset.setName(nameFromTitle(toCreate.getTitle()));
|
dataset.setName(nameFromTitle(toCreate.getTitle()));
|
||||||
dataset.setTitle(toCreate.getTitle());
|
dataset.setTitle(toCreate.getTitle());
|
||||||
|
|
||||||
CkanOrganization orgTest = client.getOrganization(toCreate.getSelectedOrganization());
|
CkanOrganization orgOwner = client.getOrganization(toCreate.getSelectedOrganization());
|
||||||
dataset.setOwnerOrg(orgTest.getId());
|
dataset.setOwnerOrg(orgOwner.getId());
|
||||||
dataset.setAuthor(toCreate.getAuthor());
|
dataset.setAuthor(toCreate.getAuthor());
|
||||||
dataset.setAuthorEmail(toCreate.getAuthorEmail());
|
dataset.setAuthorEmail(toCreate.getAuthorEmail());
|
||||||
dataset.setMaintainer(toCreate.getMaintainer());
|
dataset.setMaintainer(toCreate.getMaintainer());
|
||||||
|
@ -428,9 +439,6 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
|
|
||||||
logger.debug("Description (escaped is ) " + htmlRend.toString());
|
logger.debug("Description (escaped is ) " + htmlRend.toString());
|
||||||
|
|
||||||
// visibility TODO
|
|
||||||
dataset.setOpen(toCreate.getVisibility());
|
|
||||||
|
|
||||||
// iterate over the licenses to find the id of the chosen one
|
// iterate over the licenses to find the id of the chosen one
|
||||||
String chosenLicense = toCreate.getLicense();
|
String chosenLicense = toCreate.getLicense();
|
||||||
String licenseId = findLicenseIdByLicense(chosenLicense);
|
String licenseId = findLicenseIdByLicense(chosenLicense);
|
||||||
|
@ -509,10 +517,14 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
try{
|
try{
|
||||||
|
|
||||||
res = client.createDataset(dataset);
|
res = client.createDataset(dataset);
|
||||||
|
|
||||||
// add source and id to the incoming bean
|
// add source and id to the incoming bean
|
||||||
toCreate.setId(res.getId());
|
toCreate.setId(res.getId());
|
||||||
toCreate.setSource(getCatalogueUrl() + "/dataset/" + res.getName());
|
toCreate.setSource(getCatalogueUrl() + "/dataset/" + res.getName());
|
||||||
|
|
||||||
|
// set visibility
|
||||||
|
setVisibility(toCreate, orgOwner.getId());
|
||||||
|
|
||||||
|
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
|
|
||||||
|
@ -530,6 +542,22 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
|
|
||||||
return toCreate;
|
return toCreate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the dataset visibility.
|
||||||
|
* @param created
|
||||||
|
* @param orgOwnerId
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
private void setVisibility(DatasetMetadataBean created, String orgOwnerId) throws Exception{
|
||||||
|
|
||||||
|
// set its visibility (true means public, false means private)
|
||||||
|
boolean mustbePrivate = !created.getVisibility();
|
||||||
|
String currentScope = getCurrentScope();
|
||||||
|
CKanUtilsFactory.getInstance().
|
||||||
|
getCkanUtilsForScope(currentScope).setDatasetPrivate(mustbePrivate, orgOwnerId, created.getId(), getCKANApikeyFromUser(created.getOwnerIdentifier()));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate the catalogue's dataset name from its title
|
* Generate the catalogue's dataset name from its title
|
||||||
|
@ -537,7 +565,8 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private String nameFromTitle(String title) {
|
private String nameFromTitle(String title) {
|
||||||
String convertedName = title.replaceAll(" ", "_").replaceAll(".", "_");
|
String convertedName = title.replaceAll(" ", "_");
|
||||||
|
convertedName = convertedName.replaceAll("\\.", "_");
|
||||||
convertedName = convertedName.toLowerCase();
|
convertedName = convertedName.toLowerCase();
|
||||||
if(convertedName.endsWith("_"))
|
if(convertedName.endsWith("_"))
|
||||||
convertedName = convertedName.substring(0, convertedName.length() - 2);
|
convertedName = convertedName.substring(0, convertedName.length() - 2);
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package org.gcube.portlets.widgets.ckandatapublisherwidget.client;
|
package org.gcube.portlets.widgets.ckandatapublisherwidget.client;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author Costantino Perciante at ISTI-CNR
|
* @author Costantino Perciante at ISTI-CNR
|
||||||
|
@ -8,5 +9,4 @@ package org.gcube.portlets.widgets.ckandatapublisherwidget.client;
|
||||||
*/
|
*/
|
||||||
public class Tests {
|
public class Tests {
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue