wisemapping-open-source/wise-webapp/src/main/java/com/wisemapping/rest/model/RestMindmapInfo.java

146 lines
3.5 KiB
Java
Raw Normal View History

2012-03-15 05:21:46 +01:00
package com.wisemapping.rest.model;
2012-06-12 16:23:47 +02:00
import com.wisemapping.model.Collaboration;
import com.wisemapping.model.Collaborator;
2012-03-15 05:21:46 +01:00
import com.wisemapping.model.MindMap;
import com.wisemapping.model.User;
2012-06-12 16:23:47 +02:00
import com.wisemapping.security.Utils;
2012-03-15 05:21:46 +01:00
import org.codehaus.jackson.annotate.*;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import java.text.SimpleDateFormat;
2012-03-15 05:21:46 +01:00
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
2012-03-15 05:21:46 +01:00
@XmlRootElement(name = "map")
@XmlAccessorType(XmlAccessType.PROPERTY)
@JsonAutoDetect(
fieldVisibility = JsonAutoDetect.Visibility.NONE,
setterVisibility = JsonAutoDetect.Visibility.PUBLIC_ONLY,
isGetterVisibility = JsonAutoDetect.Visibility.NONE,
getterVisibility = JsonAutoDetect.Visibility.PUBLIC_ONLY
)
@JsonIgnoreProperties(ignoreUnknown = true)
public class RestMindmapInfo {
@JsonIgnore
private MindMap mindmap;
private Collaborator collaborator;
@JsonIgnore
static private SimpleDateFormat sdf;
static {
sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
}
2012-03-15 05:21:46 +01:00
public RestMindmapInfo() {
this(new MindMap(), null);
2012-03-15 05:21:46 +01:00
}
public RestMindmapInfo(@NotNull MindMap mindmap, @Nullable Collaborator collaborator) {
2012-03-15 05:21:46 +01:00
this.mindmap = mindmap;
this.collaborator = collaborator;
2012-03-15 05:21:46 +01:00
}
public String getCreationTime() {
return this.toISO8601(mindmap.getCreationTime().getTime());
2012-03-15 05:21:46 +01:00
}
public String getDescription() {
return mindmap.getDescription();
}
public String getTags() {
return mindmap.getTags();
}
public String getTitle() {
return mindmap.getTitle();
}
public int getId() {
return mindmap.getId();
}
public String getCreator() {
2012-06-30 21:26:31 +02:00
return mindmap.getCreator().getFullName();
2012-03-15 05:21:46 +01:00
}
2012-06-12 16:23:47 +02:00
public void setCreator() {
// Do nothing ...
2012-05-21 02:46:55 +02:00
}
2012-06-12 16:23:47 +02:00
public String getRole() {
final Collaboration collaboration = mindmap.findCollaboration(Utils.getUser());
return collaboration != null ? collaboration.getRole().getLabel() : "none";
}
public void setRole() {
// Do nothing ...
2012-05-21 02:46:55 +02:00
}
2012-03-15 05:21:46 +01:00
public String getLastModifierUser() {
2012-07-15 05:57:44 +02:00
final User user = mindmap.getLastEditor();
return user != null ? user.getFullName() : "unknown";
2012-03-15 05:21:46 +01:00
}
public String getLastModificationTime() {
final Calendar calendar = mindmap.getLastModificationTime();
return this.toISO8601(calendar.getTime());
2012-03-15 05:21:46 +01:00
}
public boolean isPublic() {
return mindmap.isPublic();
}
public void setId(int id) {
}
public boolean getStarred() {
return mindmap.isStarred(collaborator);
}
public void setStarred(int value) {
2012-03-15 05:21:46 +01:00
}
public void setTitle(String title) {
mindmap.setTitle(title);
}
public void setTags(String tags) {
mindmap.setTags(tags);
}
public void setDescription(String description) {
mindmap.setDescription(description);
}
2012-06-12 16:23:47 +02:00
public void setCreator(String email) {
2012-03-15 05:21:46 +01:00
}
public void setLastModificationTime(String value) {
2012-03-15 05:21:46 +01:00
}
public void setLastModifierUser(String value) {
2012-03-15 05:21:46 +01:00
}
2012-03-16 01:13:47 +01:00
@JsonIgnore
public MindMap getDelegated() {
2012-03-16 01:13:47 +01:00
return this.mindmap;
}
private String toISO8601(@NotNull Date date) {
return sdf.format(date) + "Z";
}
2012-03-15 05:21:46 +01:00
}