Several fixes due to changed ckan utils library
git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/widgets/ckan-metadata-publisher-widget@131119 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
74cb08dcd5
commit
43bd1566c8
|
@ -138,6 +138,10 @@ public class MetaDataFieldSkeleton extends Composite{
|
||||||
// set default value
|
// set default value
|
||||||
if(field.getDefaulValue() != null)
|
if(field.getDefaulValue() != null)
|
||||||
((ListBox)holder).setSelectedValue(field.getDefaulValue());
|
((ListBox)holder).setSelectedValue(field.getDefaulValue());
|
||||||
|
|
||||||
|
// check if multiple selection is allowed TODO
|
||||||
|
boolean isMultipleSelection = false; //field.isMultipleSelection();
|
||||||
|
((ListBox)holder).setMultipleSelect(isMultipleSelection);
|
||||||
|
|
||||||
// add to the elementPanel
|
// add to the elementPanel
|
||||||
elementPanel.add(holder);
|
elementPanel.add(holder);
|
||||||
|
@ -254,22 +258,30 @@ public class MetaDataFieldSkeleton extends Composite{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the current value of the field
|
* Returns the current value of the field (in case of multiselection Listbox returns
|
||||||
|
* the values separated by column)
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public String getFieldCurrentValue(){
|
public String getFieldCurrentValue(){
|
||||||
|
|
||||||
String value;
|
String value = "";
|
||||||
|
|
||||||
// we validate only listbox and textbox
|
// we validate only listbox and textbox
|
||||||
if(holder.getClass().equals(ListBox.class)){
|
if(holder.getClass().equals(ListBox.class)){
|
||||||
value = ((ListBox)holder).getSelectedItemText();
|
|
||||||
|
boolean first = true;
|
||||||
|
|
||||||
|
for(int i = 0; i < ((ListBox)holder).getItemCount(); i++){
|
||||||
|
if(((ListBox)holder).isItemSelected(i)){
|
||||||
|
value += first ? ((ListBox)holder).getItemText(i) : ", " + ((ListBox)holder).getItemText(i);
|
||||||
|
first = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// if it was not mandatory but there was no choice, returning empty string
|
// if it was not mandatory but there was no choice, returning empty string
|
||||||
if(!field.getMandatory())
|
if(!field.getMandatory())
|
||||||
if(value.equals("Select " + field.getFieldName()))
|
if(value.equals("Select " + field.getFieldName()))
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(holder.getClass().equals(TextBox.class))
|
else if(holder.getClass().equals(TextBox.class))
|
||||||
value = ((TextBox)holder).getText();
|
value = ((TextBox)holder).getText();
|
||||||
|
@ -280,7 +292,7 @@ public class MetaDataFieldSkeleton extends Composite{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the current value of the field
|
* Returns the current name of the field
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public String getFieldName(){
|
public String getFieldName(){
|
||||||
|
@ -302,5 +314,4 @@ public class MetaDataFieldSkeleton extends Composite{
|
||||||
((CheckBox)holder).setEnabled(false);
|
((CheckBox)holder).setEnabled(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ import org.gcube.common.homelibrary.home.workspace.WorkspaceItem;
|
||||||
import org.gcube.datacatalogue.ckanutillibrary.CKanUtils;
|
import org.gcube.datacatalogue.ckanutillibrary.CKanUtils;
|
||||||
import org.gcube.datacatalogue.ckanutillibrary.CkanUtilsFactory;
|
import org.gcube.datacatalogue.ckanutillibrary.CkanUtilsFactory;
|
||||||
import org.gcube.datacatalogue.ckanutillibrary.models.ResourceBean;
|
import org.gcube.datacatalogue.ckanutillibrary.models.ResourceBean;
|
||||||
|
import org.gcube.datacatalogue.ckanutillibrary.utils.ApplicationProfileScopePerUrlReader;
|
||||||
import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper;
|
import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper;
|
||||||
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.CKanPublisherService;
|
import org.gcube.portlets.widgets.ckandatapublisherwidget.client.CKanPublisherService;
|
||||||
import org.gcube.portlets.widgets.ckandatapublisherwidget.server.utils.Utils;
|
import org.gcube.portlets.widgets.ckandatapublisherwidget.server.utils.Utils;
|
||||||
|
@ -52,6 +53,8 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
private static final String CKAN_LICENSES_KEY = "ckanLicenses"; // licenses
|
private static final String CKAN_LICENSES_KEY = "ckanLicenses"; // licenses
|
||||||
private static final String CKAN_ORGANIZATIONS_PUBLISH_KEY = "ckanOrganizationsPublish"; // here he can publish
|
private static final String CKAN_ORGANIZATIONS_PUBLISH_KEY = "ckanOrganizationsPublish"; // here he can publish
|
||||||
private static final String CKAN_PROFILES_KEY = "ckanProfiles"; // product profiles
|
private static final String CKAN_PROFILES_KEY = "ckanProfiles"; // product profiles
|
||||||
|
private final static String CLIENT_PORTLET_URL = "currentClientUrlPortlet"; // set by the ckan portlet in session according
|
||||||
|
// the user's current url location
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve an instance of the library for the scope
|
* Retrieve an instance of the library for the scope
|
||||||
|
@ -216,9 +219,12 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
|
|
||||||
// get http session
|
// get http session
|
||||||
HttpSession httpSession = getThreadLocalRequest().getSession();
|
HttpSession httpSession = getThreadLocalRequest().getSession();
|
||||||
|
String currentUrl = (String)httpSession.getAttribute(CLIENT_PORTLET_URL);
|
||||||
|
|
||||||
|
String scope = new ApplicationProfileScopePerUrlReader().getScopePerUrl(currentUrl);
|
||||||
|
|
||||||
// get key per scope
|
// get key per scope
|
||||||
String keyPerScope = Utils.concatenateSessionKeyScope(CKAN_LICENSES_KEY, session.getScope());
|
String keyPerScope = Utils.concatenateSessionKeyScope(CKAN_LICENSES_KEY, scope);
|
||||||
|
|
||||||
LicensesBean licensesBean = null;
|
LicensesBean licensesBean = null;
|
||||||
if(httpSession.getAttribute(keyPerScope) != null){
|
if(httpSession.getAttribute(keyPerScope) != null){
|
||||||
|
@ -226,7 +232,7 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
logger.debug("List of licenses was into session");
|
logger.debug("List of licenses was into session");
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
List<CkanLicense> titlesLicenses = getCkanUtilsObj(session.getScope()).getLicenses();
|
List<CkanLicense> titlesLicenses = getCkanUtilsObj(scope).getLicenses();
|
||||||
List<String> titles = new ArrayList<String>();
|
List<String> titles = new ArrayList<String>();
|
||||||
List<String> urls = new ArrayList<String>();
|
List<String> urls = new ArrayList<String>();
|
||||||
for (CkanLicense license : titlesLicenses) {
|
for (CkanLicense license : titlesLicenses) {
|
||||||
|
@ -252,7 +258,10 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
|
|
||||||
ASLSession aslSession = getASLSession();
|
ASLSession aslSession = getASLSession();
|
||||||
String user = aslSession.getUsername();
|
String user = aslSession.getUsername();
|
||||||
|
|
||||||
|
HttpSession httpSession = this.getThreadLocalRequest().getSession();
|
||||||
|
String currentUrl = (String)httpSession.getAttribute(CLIENT_PORTLET_URL);
|
||||||
|
String scope = new ApplicationProfileScopePerUrlReader().getScopePerUrl(currentUrl);
|
||||||
if(isWithinPortal()){
|
if(isWithinPortal()){
|
||||||
try{
|
try{
|
||||||
|
|
||||||
|
@ -280,7 +289,7 @@ public class CKANPublisherServicesImpl extends RemoteServiceServlet implements C
|
||||||
bean.setAuthorEmail(userOwner.getEmail());
|
bean.setAuthorEmail(userOwner.getEmail());
|
||||||
bean.setMaintainer(userOwner.getFullname());
|
bean.setMaintainer(userOwner.getFullname());
|
||||||
bean.setMaintainerEmail(userOwner.getEmail());
|
bean.setMaintainerEmail(userOwner.getEmail());
|
||||||
bean.setOrganizationList(getUserOrganizationsListAdmin(owner, aslSession.getScope()));
|
bean.setOrganizationList(getUserOrganizationsListAdmin(owner, scope));
|
||||||
|
|
||||||
// if the request comes from the workspace
|
// if the request comes from the workspace
|
||||||
if(folderId != null && !folderId.isEmpty()){
|
if(folderId != null && !folderId.isEmpty()){
|
||||||
|
|
Loading…
Reference in New Issue