
com.jelastic.api.system.persistence.FilePermissions Maven / Gradle / Ivy
/*Server class MD5: b92481757beed62fea62fab691e6756d*/
package com.jelastic.api.system.persistence;
import java.util.HashSet;
import java.util.Set;
import com.jelastic.api.common.Constants;
import com.jelastic.api.core.orm.dao.AbstractEntity;
import com.jelastic.api.core.utils.StringUtils;
import com.jelastic.api.data.SourceAddressType;
import com.jelastic.api.data.MountProtocol;
/**
* @name Jelastic API Client
* @version 8.11.2
* @copyright Jelastic, Inc.
*/
public class FilePermissions extends AbstractEntity {
public static final String ID = "id";
public static final String FILE_PERMISSIONS_COLUMN = "filePermissions";
public static final String STORAGE = "storage";
public static final String PROTOCOL = "protocol";
private String keyword;
private String filePath;
private String srcHost;
private String srcPath;
private Boolean isFuse;
private MountProtocol protocol;
private String permissions;
private SoftwareNode softNode;
private FilePermissionCreator creator;
private Set filters = new HashSet<>();
private String user;
private SoftwareNode storage;
private boolean isDir;
public SoftwareNode getSoftNode() {
return softNode;
}
public void setSoftNode(SoftwareNode softNode) {
this.softNode = softNode;
}
private SoftwareNode volumeFromNode;
private SourceAddressType srcAddressType = SourceAddressType.DOMAIN;
public String getPermissions() {
return permissions;
}
public void setPermissions(String permissions) {
this.permissions = permissions;
}
public String getKeyword() {
return keyword;
}
public void setKeyword(String keyword) {
this.keyword = keyword;
}
public String getFilePath() {
return filePath;
}
public void setFilePath(String filePath) {
this.filePath = filePath;
}
public Set getFilters() {
return filters;
}
public void setFilters(Set filters) {
this.filters = filters;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getSrcPath() {
return srcPath;
}
public boolean isMounted() {
return this.srcPath != null;
}
public void setSrcPath(String srcPath) {
this.srcPath = srcPath;
}
public SoftwareNode getStorage() {
return storage;
}
public void setStorage(SoftwareNode storage) {
this.storage = storage;
}
public String getSrcHost() {
return srcHost;
}
public void setSrcHost(String srcHost) {
this.srcHost = srcHost;
}
public MountProtocol getProtocol() {
return protocol;
}
public void setProtocol(MountProtocol protocol) {
this.protocol = protocol;
}
public boolean isExternalMount() {
return this.storage == null;
}
public boolean isReadOnlyPermission() {
return "r".equals(permissions);
}
public FilePermissionCreator getCreator() {
return creator;
}
public void setCreator(FilePermissionCreator creator) {
this.creator = creator;
}
public boolean isDir() {
return isDir;
}
public void setDir(boolean isDir) {
this.isDir = isDir;
}
public SoftwareNode getVolumeFromNode() {
return volumeFromNode;
}
public void setVolumeFromNode(SoftwareNode volumeFromNode) {
this.volumeFromNode = volumeFromNode;
}
public SourceAddressType getSrcAddressType() {
return srcAddressType != null ? srcAddressType : SourceAddressType.DOMAIN;
}
public void setSrcAddressType(SourceAddressType srcAddressType) {
this.srcAddressType = srcAddressType;
}
public Boolean getFuse() {
return isFuse;
}
public void setFuse(Boolean fuse) {
isFuse = fuse;
}
public FilePermissions cloneTo(FilePermissions cloned) {
cloned.setFilePath(this.filePath);
cloned.setSrcPath(this.srcPath);
cloned.setSrcHost(this.srcHost);
cloned.setProtocol(this.protocol);
cloned.setPermissions(this.permissions);
cloned.setKeyword(this.keyword);
cloned.setUser(this.user);
cloned.setStorage(this.storage);
cloned.setCreator(this.creator);
cloned.setDir(this.isDir);
cloned.setVolumeFromNode(this.volumeFromNode);
cloned.setSrcAddressType(this.srcAddressType);
cloned.setFuse(this.isFuse);
return cloned;
}
public void copyMountedInfo(FilePermissions from) {
this.srcHost = from.getSrcHost();
this.srcPath = from.getSrcPath();
}
@Override
public FilePermissions clone() {
FilePermissions cloned = new FilePermissions();
return cloneTo(cloned);
}
public boolean isEqualsMount(FilePermissions compared) {
if (!StringUtils.equals(this.filePath, compared.filePath)) {
return false;
}
if (!StringUtils.equals(this.srcPath, compared.srcPath)) {
return false;
}
if (!StringUtils.equals(this.filePath, compared.filePath)) {
return false;
}
if (!StringUtils.equals(this.srcHost, compared.srcHost)) {
return false;
}
if (this.protocol != compared.protocol) {
return false;
}
if (!StringUtils.equals(this.permissions, compared.permissions)) {
return false;
}
if (!StringUtils.equals(this.user, compared.user)) {
return false;
}
if (this.creator != compared.creator) {
return false;
}
if ((this.storage == null && compared.storage != null) || (this.storage != null && compared.storage == null)) {
return false;
}
if (this.storage != null && (this.storage.getId() != compared.storage.getId())) {
return false;
}
return true;
}
public static FilePermissions createMountedFilePermission(SoftwareNode storageSoftNode, String sourcePath, String sourceHost, String path, MountProtocol protocol, String name, FilePermissionCreator filePermissionCreator, boolean readOnly, SoftwareNode volumesFromSoftNode, SourceAddressType sourceAddressType) {
FilePermissions filePermissions = new FilePermissions();
filePermissions.setSrcPath(sourcePath);
filePermissions.setFilePath(path);
filePermissions.setProtocol(protocol);
filePermissions.setKeyword(name);
filePermissions.setPermissions(readOnly ? Constants.FILE_READ_ONLY_PERMISSIONS : Constants.FILE_RWD_PERMISSIONS);
filePermissions.setCreator(filePermissionCreator);
filePermissions.setDir(true);
filePermissions.setVolumeFromNode(volumesFromSoftNode);
filePermissions.setSrcAddressType(sourceAddressType);
if (storageSoftNode == null) {
filePermissions.setSrcHost(sourceHost);
} else {
filePermissions.setSrcHost(sourceHost);
filePermissions.setStorage(storageSoftNode);
}
return filePermissions;
}
public static FilePermissions createMountedFilePermission(SoftwareNode storageSoftNode, String sourcePath, String sourceHost, String path, MountProtocol protocol, String name, FilePermissionCreator filePermissionCreator, boolean readOnly, SoftwareNode volumesFromSoftNode, SourceAddressType sourceAddressType, Boolean isFuse) {
FilePermissions filePermissions = createMountedFilePermission(storageSoftNode, sourcePath, sourceHost, path, protocol, name, filePermissionCreator, readOnly, volumesFromSoftNode, sourceAddressType);
filePermissions.setFuse(isFuse);
return filePermissions;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy