package edu.asu.spring.quadriga.domain.proxy; import java.util.Date; import java.util.List; import edu.asu.spring.quadriga.domain.IUser; import edu.asu.spring.quadriga.domain.dictionary.IDictionary; import edu.asu.spring.quadriga.domain.dictionary.IDictionaryCollaborator; import edu.asu.spring.quadriga.domain.dictionary.IDictionaryItems; import edu.asu.spring.quadriga.domain.workbench.IProjectDictionary; import edu.asu.spring.quadriga.domain.workspace.IWorkspaceDictionary; import edu.asu.spring.quadriga.exceptions.QuadrigaStorageException; import edu.asu.spring.quadriga.service.dictionary.IDictionaryManager; /** * Dictionary class describing the properties * of a Dictionary object * * @author : Rohit Pendbhaje * */ public class DictionaryProxy implements IDictionary { private String name; private String description; private String id; private IUser owner; private String updatedBy; private String createdBy; private Date createdDate; private Date updatedDate; private IDictionary dictionary; private IDictionaryManager dictionaryManager; public DictionaryProxy(IDictionaryManager dictionaryManager) { this.dictionaryManager = dictionaryManager; } public IDictionaryManager getDictionaryManager() { return dictionaryManager; } public void setDictionaryManager(IDictionaryManager dictionaryManager) { this.dictionaryManager = dictionaryManager; } @Override public void setDictionaryId(String id) { this.id = id; if(dictionary != null) this.dictionary.setDictionaryId(id); } @Override public String getDictionaryId() { return this.id; } @Override public void setDictionaryName(String dictionaryName) { this.name = dictionaryName; if(dictionary!=null) this.dictionary.setDictionaryName(dictionaryName); } @Override public String getDictionaryName() { return this.name; } @Override public void setDescription(String description) { this.description = description; if(dictionary != null) this.dictionary.setDescription(description); } @Override public String getDescription() { return this.description; } @Override public void setOwner(IUser owner) { this.owner = owner; if(dictionary != null) this.dictionary.setOwner(owner); } @Override public IUser getOwner() { return this.owner; } private void setDictionaryDetails() throws QuadrigaStorageException { dictionary = dictionaryManager.getDictionaryDetails(this.name); this.dictionary.setDescription(this.description); this.dictionary.setDictionaryId(this.id); this.dictionary.setOwner(this.owner); this.dictionary.setCreatedBy(this.createdBy); this.dictionary.setUpdatedBy(this.updatedBy); this.dictionary.setCreatedDate(this.createdDate); this.dictionary.setUpdatedDate(this.updatedDate); } @Override public List<IDictionaryCollaborator> getDictionaryCollaborators() throws QuadrigaStorageException { if(this.dictionary == null) setDictionaryDetails(); return this.dictionary.getDictionaryCollaborators(); } @Override public void setDictionaryCollaborators( List<IDictionaryCollaborator> dictionaryCollaborators) throws QuadrigaStorageException { if(this.dictionary == null) setDictionaryDetails(); this.dictionary.setDictionaryCollaborators(dictionaryCollaborators); } @Override public List<IDictionaryItems> getDictionaryItems() throws QuadrigaStorageException { if(this.dictionary == null) setDictionaryDetails(); return this.dictionary.getDictionaryItems(); } @Override public void setDictionaryItems(List<IDictionaryItems> dictionaryItems) throws QuadrigaStorageException { if(this.dictionary == null) setDictionaryDetails(); this.dictionary.setDictionaryItems(dictionaryItems); } @Override public List<IProjectDictionary> getDictionaryProjects() throws QuadrigaStorageException { if(this.dictionary == null) setDictionaryDetails(); return this.dictionary.getDictionaryProjects(); } @Override public void setDictionaryProjects( List<IProjectDictionary> dictionaryProjects) throws QuadrigaStorageException { if(this.dictionary == null) setDictionaryDetails(); this.dictionary.setDictionaryProjects(dictionaryProjects); } @Override public List<IWorkspaceDictionary> getDictionaryWorkspaces() throws QuadrigaStorageException { if(this.dictionary == null) setDictionaryDetails(); return this.dictionary.getDictionaryWorkspaces(); } @Override public void setDictionaryWorkspaces( List<IWorkspaceDictionary> dictionaryWorkspaces) throws QuadrigaStorageException { if(dictionary == null) setDictionaryDetails(); this.dictionary.setDictionaryWorkspaces(dictionaryWorkspaces); } @Override public String getCreatedBy() { return this.createdBy; } @Override public void setCreatedBy(String createdBy) { this.createdBy = createdBy; if(dictionary != null) this.dictionary.setCreatedBy(createdBy); } @Override public Date getCreatedDate() { return this.createdDate; } @Override public void setCreatedDate(Date createdDate) { this.createdDate = createdDate; if(dictionary != null) this.dictionary.setCreatedDate(createdDate); } @Override public String getUpdatedBy() { return this.updatedBy; } @Override public void setUpdatedBy(String updatedBy) { this.updatedBy = updatedBy; if(dictionary != null) this.dictionary.setUpdatedBy(updatedBy); } @Override public Date getUpdatedDate() { return this.updatedDate; } @Override public void setUpdatedDate(Date updatedDate) { this.updatedDate = updatedDate; if(dictionary != null) this.dictionary.setUpdatedDate(updatedDate); } }