public class ServerProject
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
INFO_EXTENSION
Extensão dos arquivos de configuração dos projetos.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close(boolean notify)
Notifica os usuários sobre o fechamento do projeto, mas não deve tirar ele
de memória.
|
static ServerProject |
createProject(csbase.logic.CommonProjectInfo info)
Cria, abre e retorna um novo projeto.
|
static csbase.logic.CommonProjectInfo |
createProjectInfo(java.io.File configFile)
Monta o
CommonProjectInfo com base no arquivo de controle. |
static boolean |
existsProject(java.lang.Object projectId)
Informa se um dado projeto existe.
|
static boolean |
generateConfigFile(java.io.File configFile,
java.lang.Object ownerId,
java.lang.String projectName)
Função para gerar um arquivo de controle de projetos CSBASE vazio com as
informações básicas de nomes de usuário e projeto.
|
java.lang.String |
getAbsolutePath()
Retorna o caminho absoluto para a raiz desse projeto.
|
static java.lang.String |
getAbsolutePath(java.lang.Object projectId)
Informa o caminho para o diretório raiz do projeto.
|
static java.util.List<java.lang.Object> |
getAllProjectIds(java.lang.Object userId)
Retorna os identificadores de todos os projetos de um usuário (apenas
aqueles dos quais é dono, não inclui projetos aos quais apenas tem acesso).
|
java.util.Hashtable<java.lang.String,java.lang.Object> |
getAttributes()
Fornece os atributos específicos de um projeto.
|
protected static java.io.File |
getConfigFile(java.io.File dir)
Obtem o arquivo de configuração do projeto.
|
java.lang.String |
getDescription()
Fornece a dscrição do projeto.
|
java.lang.Object |
getId()
Fornece o identificador do projeto.
|
static java.lang.Object |
getId(java.lang.Object userId,
java.lang.String projectName)
Dado um usuário e um nome de projeto, obtém o identificador desse projeto.
|
csbase.logic.CommonProjectInfo |
getInfo()
Fornece informações do projeto.
|
java.lang.String |
getName()
Fornece o nome do projeto.
|
static csbase.logic.User |
getOwner(java.lang.Object projectId)
Obtém o usuário (Objeto User) a partir do project Id
|
static java.lang.Object |
getOwnerId(java.lang.Object projectId)
Dado um identificador de um projeto, obtém o usuário desse projeto.
|
static java.lang.String |
getOwnerLogin(java.lang.Object projectId)
Obtém o login do dono do projeto.
|
static java.lang.String |
getOwnerName(java.lang.Object projectId)
Dado um identificador de um projeto, obtém o nome do usuário desse projeto.
|
java.lang.String |
getOwnerServerName()
Obtém o nome do servidor dono do projeto.
|
java.lang.String[] |
getPath()
Fornece o caminho onde o projeto está instalado, a partir da raiz de todos
os projetos.
|
static ServerProject |
getProject(java.lang.Object id)
Recupera um projeto aberto de um usuário.
|
static java.lang.String |
getProjectName(java.lang.Object projectId)
Dado um identificador de um projeto, obtém o nome desse projeto.
|
java.util.List<csbase.logic.projectservice.ProjectTemplate> |
getProjectTemplates()
Obtém os templates do projeto.
|
csbase.logic.ProjectPermissions.SharingType |
getSharingType()
Obtém o tipo de compartilhamento.
|
csbase.server.services.projectservice.ServerProjectFile |
getTree()
Retorna o arquivo associado à raiz do projeto.
|
java.lang.Object |
getUserId()
Fornece o identificador do usuário ao qual o projeto pertence.
|
java.util.Set<java.lang.Object> |
getUsersRO()
Obtém a lista de usuários com acesso apenas de leitura ao projeto no modo
de compartilhamento seletivo.
|
java.util.Set<java.lang.Object> |
getUsersRW()
Obtém a lista de usuários com acesso de leitura e escrita ao projeto no
modo de compartilhamento seletivo.
|
java.lang.Boolean |
isPublic()
Vertifica se o projeto é público.
|
void |
modify()
Persiste as modificações feitas nas informações do projeto.
|
static ServerProject |
openProject(java.lang.Object projectId,
boolean notify)
Abre um projeto de um usuário.
|
static ServerProject |
openServerProject(java.lang.Object projectId) |
static csbase.logic.CommonProjectInfo |
readProjectInfoFromConfigFile(java.io.File configFile,
java.lang.Object ownerId)
Gera o
CommonProjectInfo de um projeto a partir de um File
para seu arquivo de configuração. |
void |
rebuildTree()
Reconstrói a árvore do projeto a partir do filesystem.
|
void |
refreshTree()
Sinaliza que a árvore do projeto deve ser atualizada.
|
void |
remove()
Remove o projeto.
|
static boolean |
removeBasePrjDirForUser(java.lang.Object userId)
Remove o diretório-base dos projetos de um determinado usuário.
|
void |
setAttributes(java.util.Hashtable<java.lang.String,java.lang.Object> attributes)
Altera os atributos específicos do projeto.
|
void |
setDescription(java.lang.String description)
Altera a descrição do projeto.
|
void |
setName(java.lang.String name)
Altera o nome do projeto.
|
void |
setSharingType(csbase.logic.ProjectPermissions.SharingType type)
Define o tipo de compartilhamento.
|
void |
setUsersRO(java.util.Set<java.lang.Object> usersRO)
Atualiza a lista de usuários com acesso apenas de leitura ao projeto.
|
void |
setUsersRW(java.util.Set<java.lang.Object> usersRW)
Atualiza a lista de usuários com acesso de leitura e escrita ao projeto.
|
java.lang.String |
toString()
Retorna um texto descritivo do projeto.
|
boolean |
userHasAccess(java.lang.Object userID)
Verifica se o usuário tem acesso ao projeto.
|
boolean |
userHasAccessRO(java.lang.Object userID)
Verifica se o usuário tem qualquer tipo de acesso RO ao projeto, ou seja,
se uma das seguintes condições é satisfeita:
o projeto é público apenas para leitura
o compartilhamento é seletivo e o usuário possui acesso RO
|
boolean |
userHasAccessRW(java.lang.Object userID)
Verifica se o usuário tem qualquer tipo de acesso RW ao projeto, ou seja,
se uma das seguintes condições for satisfeita:
usuário é o admin ou o dono do projeto
este é público para leitura e escrita
o compartilhamento é seletivo e o usuário possui acesso RW
|
static boolean |
userHasHisOwnProjects(java.lang.Object userId)
Verifica se o usuário possui algum projeto.
|
boolean |
userHasSelectiveAccessRO(java.lang.Object userID)
Verifica se o compartilhamento é seletivo e usuário tem acesso RO ao
projeto.
|
boolean |
userHasSelectiveAccessRW(java.lang.Object userID)
Verifica se o compartilhamento é seletivo e usuário tem acesso RW ao
projeto.
|
boolean |
userIsOwner(java.lang.Object userID)
Verifica se o usuário é o dono do projeto.
|
public static final java.lang.String INFO_EXTENSION
public java.lang.Object getId()
public java.lang.String[] getPath()
public java.lang.String getAbsolutePath()
public static java.lang.Object getId(java.lang.Object userId,
java.lang.String projectName)
userId - Identificador do usuário dono do projeto.projectName - Nome do projeto.splitProjectId(Object)public static java.lang.String getAbsolutePath(java.lang.Object projectId)
projectId - Identificador do projeto.public static java.lang.String getProjectName(java.lang.Object projectId)
projectId - O identificador do projeto.public static java.lang.String getOwnerLogin(java.lang.Object projectId)
projectId - identificador do projetopublic static java.lang.Object getOwnerId(java.lang.Object projectId)
projectId - O indentificador do projeto.public static java.lang.String getOwnerName(java.lang.Object projectId)
projectId - O indentificador do projeto.public static csbase.logic.User getOwner(java.lang.Object projectId)
projectId - public java.lang.String getOwnerServerName()
protected static java.io.File getConfigFile(java.io.File dir)
dir - .public static java.util.List<java.lang.Object> getAllProjectIds(java.lang.Object userId)
userId - Identificador do usuário.public static boolean userHasHisOwnProjects(java.lang.Object userId)
userId - identificador do usuáriotrue se o usuário possui algum projeto própriopublic static boolean removeBasePrjDirForUser(java.lang.Object userId)
userId - Id do usuáriotrue se removeu a pasta com sucesso ou se a pasta já
não existia ou false caso a remoção tenha falhado.public static boolean existsProject(java.lang.Object projectId)
projectId - Identificador do projeto.public static ServerProject openProject(java.lang.Object projectId, boolean notify)
projectId - Identificador do projeto.notify - Indica se os clientes devem ser notificados.public static ServerProject openServerProject(java.lang.Object projectId)
public static ServerProject getProject(java.lang.Object id)
id - Identificador do projeto.public static ServerProject createProject(csbase.logic.CommonProjectInfo info)
info - Informações do projeto.public static boolean generateConfigFile(java.io.File configFile,
java.lang.Object ownerId,
java.lang.String projectName)
configFile - arquivo de controle a ser gerado.ownerId - identificador do usuário dono do projeto.projectName - nome do projeto.public static csbase.logic.CommonProjectInfo createProjectInfo(java.io.File configFile)
CommonProjectInfo com base no arquivo de controle.configFile - arquivo de controlenull caso isso não seja possível.public static csbase.logic.CommonProjectInfo readProjectInfoFromConfigFile(java.io.File configFile,
java.lang.Object ownerId)
CommonProjectInfo de um projeto a partir de um File
para seu arquivo de configuração.configFile - File para arquivo de configuração.ownerId - Dono do projeto.CommonProjectInfo do projeto.public csbase.logic.CommonProjectInfo getInfo()
public java.lang.Object getUserId()
public java.lang.String getName()
public void setName(java.lang.String name)
modify() for chamado.name - nome.public java.lang.String getDescription()
public void setDescription(java.lang.String description)
modify() for chamado.description - descrição.public java.util.Hashtable<java.lang.String,java.lang.Object> getAttributes()
public void setAttributes(java.util.Hashtable<java.lang.String,java.lang.Object> attributes)
modify() for chamado.attributes - do projeto.public csbase.server.services.projectservice.ServerProjectFile getTree()
IMPORTANTE: não se deve assumir que a árvore está preenchida, só é garantido que o nó-raiz esteja definido
public void setUsersRO(java.util.Set<java.lang.Object> usersRO)
usersRO - - usuários com acesso apenas de leitura ao projetopublic void setUsersRW(java.util.Set<java.lang.Object> usersRW)
usersRW - - usuários com acesso apenas de leitura e escrita ao projetopublic java.lang.Boolean isPublic()
public void setSharingType(csbase.logic.ProjectPermissions.SharingType type)
type - - tipo de compartilhamentopublic java.util.List<csbase.logic.projectservice.ProjectTemplate> getProjectTemplates()
public csbase.logic.ProjectPermissions.SharingType getSharingType()
public java.util.Set<java.lang.Object> getUsersRO()
IMPORTANTE: este método não leva em consideração o tipo de compartilhamento do projeto, i.e. pode retornar uma lista não-vazia mesmo que o compartilhamento seja público ou privado.
public java.util.Set<java.lang.Object> getUsersRW()
IMPORTANTE: este método não leva em consideração o tipo de compartilhamento do projeto, i.e. pode retornar uma lista não-vazia mesmo que o compartilhamento seja público ou privado.
public boolean userHasAccess(java.lang.Object userID)
userID - - identificador do usuáriotrue se o usuário tem acesso ao projeto (RO ou RW)public boolean userHasAccessRO(java.lang.Object userID)
userID - - identificador do usuáriotrue se o usuário tem qualquer tipo de acesso RO ao
projetopublic boolean userHasAccessRW(java.lang.Object userID)
userID - - identificador do usuáriotrue se o usuário tem acesso RW ao projetopublic boolean userHasSelectiveAccessRO(java.lang.Object userID)
userID - - identificador do usuáriotrue se o compartilhamento é seletivo e o usuário tem
acesso RO ao projetopublic boolean userHasSelectiveAccessRW(java.lang.Object userID)
userID - - identificador do usuáriotrue se o compartilhamento é seletivo e o usuário tem
acesso RW ao projetopublic boolean userIsOwner(java.lang.Object userID)
userID - - identificador do usuáriotrue se o usuário é o dono do projetopublic void modify()
public void refreshTree()
rebuildTree()public void rebuildTree()
IMPORTANTE: esta operação é custosa para projetos com muitos arquivos. Apenas os arquivos de controle do CSBase são descartados, todos os demais arquivos e diretórios serão percorridos. O evento enviado em resposta contém a raiz da árvore, que está completamente preenchida.
refreshTree()public void remove()
public void close(boolean notify)
notify - indicativo de notificação aos clientes.public java.lang.String toString()
toString in class java.lang.ObjectCopyright © 2016. All Rights Reserved.