package org.gcube.portlets.widgets.ckandatapublisherwidget.shared;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
* This bean will contain during ckan metadata creation the following information
* (related to the workspace folder that represents a dataset)
*
* - id -> the id of the workspace folder
*
- Title -> folder's name
*
- Description -> folders' description
*
- tags -> folder's custom fields keys' names
*
- visibility -> as chosen by the creator (visible = true, not visible = false)
*
- searchable -> as chosen by the creator
*
- source -> url of the folder within the workspace
*
- version -> during creation it is going to be 1.0
*
- author, maintainer -> folder's owner
*
- custom fields -> gcube items couple
*
- organizationsList -> list of organizations to which the user belong (and in which
* he wants to publish)
*
* @author Costantino Perciante at ISTI-CNR
* (costantino.perciante@isti.cnr.it)
*/
@SuppressWarnings("serial")
public class DatasetMetadataBean implements Serializable {
private String id;
private String title;
private String description;
private Map customFields;
List tags; // on retrieve, they are the keys of the custom fields
private String license; // chosen by the user
private boolean visibility; // Private (false) or Public(true)
private boolean searchable; // true or false
private String source; // url of the folder in the workspace
private long version; // version 1, 2 ...
private String author; // folder's owner fullname
private String authorEmail; // folder's email owner
private String maintainer;
private String maintainerEmail;
private String ownerFolderInWorkspace; // owner of the folder into the workspace
private List organizationList; // list of organization in which the user is present and could create the dataset
private String selectedOrganization;
private List resourcesIds; // in case of workspace, this is the list of children's ids
private boolean addResources; // if true, add these files as resources to the dataset
public DatasetMetadataBean(){
super();
}
/** Create a metadata bean object.
* @param id
* @param title
* @param description
* @param customFields
* @param tags
* @param license
* @param visibility
* @param searchable
* @param source
* @param version
* @param author
* @param authorEmail
* @param maintainer
* @param maintainerEmail
* @param ownerFolderInWorkspace
* @param organizationList
* @param selectedOrganization
*/
public DatasetMetadataBean(String id, String title, String description,
Map customFields, List tags,
String license, boolean visibility, boolean searchable,
String source, long version, String author, String authorEmail,
String maintainer, String maintainerEmail,
String ownerFolderInWorkspace, List organizationList,
String selectedOrganization) {
super();
this.id = id;
this.title = title;
this.description = description;
this.customFields = customFields;
this.tags = tags;
this.license = license;
this.visibility = visibility;
this.searchable = searchable;
this.source = source;
this.version = version;
this.author = author;
this.authorEmail = authorEmail;
this.maintainer = maintainer;
this.maintainerEmail = maintainerEmail;
this.ownerFolderInWorkspace = ownerFolderInWorkspace;
this.organizationList = organizationList;
this.selectedOrganization = selectedOrganization;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public void setOwnerFolderInWorkspace(String ownerFolderInWorkspace) {
this.ownerFolderInWorkspace = ownerFolderInWorkspace;
}
public String getOwnerFolderInWorkspace(){
return ownerFolderInWorkspace;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Map getCustomFields() {
return customFields;
}
public void setCustomFields(Map customFields) {
this.customFields = customFields;
}
public List getTags() {
return tags;
}
public void setTags(List tags) {
this.tags = tags;
}
public String getLicense() {
return license;
}
public void setLicense(String license) {
this.license = license;
}
public boolean getVisibility() {
return visibility;
}
public void setVisibility(boolean visibility) {
this.visibility = visibility;
}
public boolean isSearchable() {
return searchable;
}
public void setSearchable(boolean searchable) {
this.searchable = searchable;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public long getVersion() {
return version;
}
public void setVersion(long version) {
this.version = version;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getAuthorEmail() {
return authorEmail;
}
public void setAuthorEmail(String authorEmail) {
this.authorEmail = authorEmail;
}
public String getMaintainer() {
return maintainer;
}
public void setMaintainer(String maintainer) {
this.maintainer = maintainer;
}
public String getMaintainerEmail() {
return maintainerEmail;
}
public void setMaintainerEmail(String maintainerEmail) {
this.maintainerEmail = maintainerEmail;
}
public List getOrganizationList() {
return organizationList;
}
public void setOrganizationList(List organizationList) {
this.organizationList = organizationList;
}
public String getSelectedOrganization() {
return selectedOrganization;
}
public void setSelectedOrganization(String selectedOrganization) {
this.selectedOrganization = selectedOrganization;
}
public List getResourcesIds() {
return resourcesIds;
}
public void setResourcesIds(List resourcesIds) {
this.resourcesIds = resourcesIds;
}
public boolean isAddResources() {
return addResources;
}
public void setAddResources(boolean addResources) {
this.addResources = addResources;
}
@Override
public String toString() {
return "DatasetMetadataBean [id=" + id + ", title=" + title
+ ", description=" + description + ", customFields="
+ customFields + ", tags=" + tags + ", license=" + license
+ ", visibility=" + visibility + ", searchable=" + searchable
+ ", source=" + source + ", version=" + version + ", author="
+ author + ", authorEmail=" + authorEmail + ", maintainer="
+ maintainer + ", maintainerEmail=" + maintainerEmail
+ ", ownerFolderInWorkspace=" + ownerFolderInWorkspace
+ ", organizationList=" + organizationList
+ ", selectedOrganization=" + selectedOrganization
+ ", resourcesIds=" + resourcesIds + ", addResources="
+ addResources + "]";
}
}