DataTablesWrapper.java
package sk.iway.iwcm.system.datatables;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import sk.iway.iwcm.Tools;
import sk.iway.iwcm.i18n.Prop;
/**
* DataTablesWrapper.java
*
* Wrapper class for displaying data in DataTables Editor.
*
*
*@Title webjet8
*@Company Interway a.s. (www.interway.sk)
*@Copyright Interway a.s (c) 2001-2018
*@author $Author: mhruby $
*@version $Revision: 1.0 $
*@created Date: 27.03.2018 12:00:00
*@modified $Date: 27.03.2018 12:0:00 $
*/
public class DataTablesWrapper {
private List<Object> data;
private List<Object> options;
private Files files;
private Upload upload;
private List<DataTablesFieldError> fieldErrors;
private String error;
public List<Object> getData() {
return data;
}
public DataTablesWrapper setData(List<Object> data) {
this.data = data;
return this;
}
public List<Object> getOptions() {
return options;
}
public DataTablesWrapper setOptions(List<Object> options) {
this.options = options;
return this;
}
public Files getFiles() {
return files;
}
public Upload getUpload() { return upload; }
public void addUpload(String fileUrl)
{
if (files==null) files = new Files();
if (upload==null) upload = new Upload();
files.addFile(fileUrl);
}
public List<DataTablesFieldError> getFieldErrors() {
return fieldErrors;
}
public void setFieldErrors(List<DataTablesFieldError> fieldErrors, Prop prop) {
Map<String, DataTablesFieldError> temp = new HashMap<>();
for (DataTablesFieldError error : fieldErrors){
error.setStatus(prop.getText(error.getStatus()));
if (temp.containsKey(error.getName())) {
DataTablesFieldError dataTablesFieldError = temp.get(error.getName());
dataTablesFieldError.setStatus(dataTablesFieldError.getStatus() + error.getStatus());
} else {
temp.put(error.getName(), error);
}
}
this.fieldErrors = new ArrayList<DataTablesFieldError>(temp.values());
}
public void setFieldErrors(List<DataTablesFieldError> fieldErrors) {
this.fieldErrors = fieldErrors;
}
public String getError() {
return error;
}
public void setError(String error, Prop prop) {
if (Tools.isNotEmpty(error))
this.error = prop.getText(error);
}
public void setError(String error) {
this.error = error;
}
/**
* Toto je sialene, je potrebne spravne zapuzdrit objekty pre upload podla dokumentacie na https://editor.datatables.net/manual/server
*/
public class Upload {
String id;
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
}
public class UploadFile {
String id;
String filename;
String web_path;
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
public String getFilename()
{
return filename;
}
public void setFilename(String filename)
{
this.filename = filename;
}
public String getWeb_path()
{
return web_path;
}
public void setWeb_path(String web_path)
{
this.web_path = web_path;
}
}
public class Files {
List<UploadFile> files;
public List<UploadFile> getFiles()
{
return files;
}
public void setFiles(List<UploadFile> files)
{
this.files = files;
}
public void addFile(String fileUrl)
{
if (files == null) files = new ArrayList<>();
if (upload==null) upload = new Upload();
UploadFile file = new UploadFile();
file.setId(fileUrl);
String fileName = "";
int i = fileUrl.lastIndexOf("/");
if (i>0) fileName = fileUrl.substring(i+1);
file.setFilename(fileName);
file.setWeb_path(fileUrl);
files.add(file);
upload.setId(fileUrl);
}
}
}