/* * Copyright [2011] [wisemapping] * * Licensed under WiseMapping Public License, Version 1.0 (the "License"). * It is basically the Apache License, Version 2.0 (the "License") plus the * "powered by wisemapping" text requirement on every single page; * you may not use this file except in compliance with the License. * You may obtain a copy of the license at * * http://www.wisemapping.org/license * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.wisemapping.view; import com.wisemapping.model.Collaboration; import com.wisemapping.model.CollaborationRole; import com.wisemapping.model.MindMap; import com.wisemapping.model.User; import com.wisemapping.security.Utils; import java.text.DateFormat; import java.util.*; public class MindMapBean { private MindMap mindMap; private List<ColaboratorBean> viewers; private List<ColaboratorBean> colaborators; public MindMapBean(final MindMap mindmap) { this.mindMap = mindmap; this.colaborators = getColaboratorBy(mindmap.getCollaborations(), CollaborationRole.EDITOR); this.viewers = getColaboratorBy(mindmap.getCollaborations(), CollaborationRole.VIEWER); } public MindMap getMindMap() { return mindMap; } public boolean getPublic() { return mindMap.isPublic(); } public String getTitle() { return mindMap.getTitle(); } public String getDescription() { return mindMap.getDescription(); } public int getId() { return mindMap.getId(); } public boolean isStarred() { return mindMap.isStarred(Utils.getUser()); } public List<ColaboratorBean> getViewers() { return viewers; } public List<ColaboratorBean> getCollaborators() { return colaborators; } public String getLastEditor() { return mindMap.getLastModifierUser(); } public String getLastEditTime() { return DateFormat.getInstance().format(mindMap.getLastModificationTime().getTime()); } public String getCreationTime() { return DateFormat.getInstance().format(mindMap.getCreationTime().getTime()); } public String getTags() { return mindMap.getTags(); } private List<ColaboratorBean> getColaboratorBy(Set<Collaboration> source, CollaborationRole role) { List<ColaboratorBean> col = new ArrayList<ColaboratorBean>(); if (source != null) { for (Collaboration mu : source) { if (mu.getRole() == role) { col.add(new ColaboratorBean(mu.getCollaborator(), mu.getRole())); } } } return col; } public int getCountColaborators() { return colaborators != null ? colaborators.size() : 0; } public int getCountViewers() { return viewers != null ? viewers.size() : 0; } public int getCountShared() { return getCountColaborators() + getCountViewers(); } public boolean isShared() { return getCountShared() > 0; } public void setTitle(String t) { mindMap.setTitle(t); } public void setDescription(String d) { mindMap.setDescription(d); } public User getCreator() { return mindMap.getCreator(); } }