ckan-metadata-publisher-widget/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/shared/DatasetMetadataBean.java

268 lines
7.0 KiB
Java

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)
* <ul>
* <li> id -> the id of the workspace folder
* <li> Title -> folder's name
* <li> Description -> folders' description
* <li> tags -> folder's custom fields keys' names
* <li> visibility -> as chosen by the creator (visible = true, not visible = false)
* <li> searchable -> as chosen by the creator
* <li> source -> url of the folder within the workspace
* <li> version -> during creation it is going to be 1.0
* <li> author, maintainer -> folder's owner
* <li> custom fields -> gcube items <key, value> couple
* <li> organizationsList -> list of organizations to which the user belong (and in which
* he wants to publish)
* </ul>
* @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<String, String> customFields;
List<String> 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<String> organizationList; // list of organization in which the user is present and could create the dataset
private String selectedOrganization;
private List<String> 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<String, String> customFields, List<String> tags,
String license, boolean visibility, boolean searchable,
String source, long version, String author, String authorEmail,
String maintainer, String maintainerEmail,
String ownerFolderInWorkspace, List<String> 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<String, String> getCustomFields() {
return customFields;
}
public void setCustomFields(Map<String, String> customFields) {
this.customFields = customFields;
}
public List<String> getTags() {
return tags;
}
public void setTags(List<String> 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<String> getOrganizationList() {
return organizationList;
}
public void setOrganizationList(List<String> organizationList) {
this.organizationList = organizationList;
}
public String getSelectedOrganization() {
return selectedOrganization;
}
public void setSelectedOrganization(String selectedOrganization) {
this.selectedOrganization = selectedOrganization;
}
public List<String> getResourcesIds() {
return resourcesIds;
}
public void setResourcesIds(List<String> 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 + "]";
}
}