GalleryJsTreeItem.java
package sk.iway.iwcm.components.gallery;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import sk.iway.iwcm.Identity;
import sk.iway.iwcm.Tools;
import sk.iway.iwcm.admin.jstree.JsTreeItem;
import sk.iway.iwcm.admin.jstree.JsTreeItemState;
import sk.iway.iwcm.admin.jstree.JsTreeItemType;
import sk.iway.iwcm.common.CloudToolsForCore;
import sk.iway.iwcm.io.IwcmFile;
import java.util.Optional;
public class GalleryJsTreeItem extends JsTreeItem {
@JsonProperty("galleryDimension")
private GalleryDimension galleryDimension;
@JsonIgnore
private long lastModified = 0;
@JsonIgnore
private long createDate = 0;
public GalleryJsTreeItem(IwcmFile f, String currentDir, GalleryDimensionRepository repository, Identity user) {
setId(f.getVirtualPath());
setChildren(f.listFiles(IwcmFile::isDirectory).length > 0);
setIcon("ti ti-folder-filled");
setVirtualPath(f.getVirtualPath());
lastModified = f.lastModified();
JsTreeItemState jsTreeItemState = new JsTreeItemState();
// defaultne otvoreny adresar gallery
if (currentDir==null || Tools.isEmpty(currentDir)) currentDir = "/images/gallery";
//remove last /
if (currentDir.length()>2 && currentDir.endsWith("/")) currentDir = currentDir.substring(0, currentDir.length()-1);
if (currentDir.startsWith(f.getVirtualPath())) {
jsTreeItemState.setOpened(true);
if (currentDir.equals(f.getVirtualPath())) jsTreeItemState.setSelected(true);
}
setState(jsTreeItemState);
setType(JsTreeItemType.GALLERY);
Optional<GalleryDimension> galleryDimensionOptional = repository.findFirstByPathAndDomainId(getVirtualPath(), CloudToolsForCore.getDomainId());
if (galleryDimensionOptional.isPresent()) {
galleryDimension = galleryDimensionOptional.get();
if (galleryDimension.getDate()!=null) createDate = galleryDimension.getDate().getTime();
}
else {
galleryDimension = GalleryDimenstionRestController.getNewEntity(f.getVirtualPath());
setIcon("ti ti-folder");
}
if (Tools.isEmpty(galleryDimension.getName())) {
galleryDimension.setName(f.getName());
}
galleryDimension.setPath(f.getVirtualPath());
setGalleryDimension(galleryDimension);
setText(galleryDimension.getName());
if (GalleryDimenstionRestController.isFolderEditable(galleryDimension.getPath(), user)==false) {
setIcon("ti ti-folder-x");
}
}
public GalleryDimension getGalleryDimension() {
return galleryDimension;
}
public void setGalleryDimension(GalleryDimension galleryDimension) {
this.galleryDimension = galleryDimension;
}
public long getLastModified() {
return lastModified;
}
public long getCreateDate() {
return createDate;
}
}