package edu.asu.spring.quadriga.domain.factory.impl.workspace; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Service; import edu.asu.spring.quadriga.domain.IUser; import edu.asu.spring.quadriga.domain.factory.workspace.IWorkspaceFactory; import edu.asu.spring.quadriga.domain.impl.workspace.WorkSpace; import edu.asu.spring.quadriga.domain.workspace.IWorkSpace; import edu.asu.spring.quadriga.domain.workspace.IWorkspaceCollaborator; /** * @description : Factory class for creating {@link WorkSpace}. * * @author : Kiran Kumar Batna * */ @Service public class WorkspaceFactory implements IWorkspaceFactory { /** * {@inheritDoc} */ @Override public IWorkSpace createWorkspaceObject() { return new WorkSpace(); } /** * {@inheritDoc} */ @Override public IWorkSpace cloneWorkspaceObject(IWorkSpace workspace) { IWorkSpace clone = createWorkspaceObject(); clone.setWorkspaceName(workspace.getWorkspaceName()); clone.setDescription(workspace.getDescription()); clone.setWorkspaceId(workspace.getWorkspaceId()); IUser owner = workspace.getOwner(); clone.setOwner(owner); List<IWorkspaceCollaborator> collaborator = new ArrayList<IWorkspaceCollaborator>(); for(IWorkspaceCollaborator workspaceCollaborator : workspace.getWorkspaceCollaborators()) { collaborator.add(workspaceCollaborator); } clone.setWorkspaceCollaborators(collaborator); return clone; } }