Gostaria de trocar algumas ideias:
Eu tenho uma classe item, bem básica
class Item {
private String nome;
private String descricao;
}
Esse item tem de ser versionado, para isso criei
public class Revisao {
private int numero;
private RevisaoEnum status;
private Usuario responsavel;
private Date alteradoEm
}
public enum RevisaoEnum {
ATIVO (1, "Ativo"),
INATIVO (2, "Inativo"),
ANALISE (3, "Análise"),
REVISAO (4, "Revisão"),
CONFERENCIA (5, "Conferência");
}
class Item {
private String nome;
private String descricao;
private List revisoes;
}
Se qualquer um dos campos observados é alterado, gera uma nova versao. O problema é q existem muitas alterações menores, virgulas, correção de ortografia, etc. Aí pensei em ter um objeto “rascunho” onde todas as alterações sçao feitas até uma nova revisão ser liberada. Assim a criacao de uma nova versão não é automática (o que geraria bem menos revisões) mas depende do usuário definir.
Alem disso tenho de fazer um esquema de notificações cada vez q uma nova revisão é liberada. As notificações depende do status da alteração, então toda ver q tiver uma nova revisão tenho de verificar quem está inscrito para receber as notificações e tb toda vez q atualizar a versão oficial, essa parte ainda não pensei como fazer.
Estou no caminho certo, alguem tem alguma ideia para melhorar esse modelo?