2012-02-17 14:42:20 +01:00
|
|
|
package com.wisemapping.rest.model;
|
|
|
|
|
|
|
|
|
2012-06-10 03:55:55 +02:00
|
|
|
import com.wisemapping.exceptions.WiseMappingException;
|
2012-05-30 03:36:32 +02:00
|
|
|
import com.wisemapping.model.Collaborator;
|
2012-02-17 14:42:20 +01:00
|
|
|
import com.wisemapping.model.MindMap;
|
|
|
|
import com.wisemapping.model.User;
|
2012-02-21 18:22:43 +01:00
|
|
|
import org.codehaus.jackson.annotate.*;
|
2012-02-17 14:42:20 +01:00
|
|
|
import org.jetbrains.annotations.NotNull;
|
2012-03-14 05:49:05 +01:00
|
|
|
import org.jetbrains.annotations.Nullable;
|
2012-02-17 14:42:20 +01:00
|
|
|
|
2012-06-03 16:16:38 +02:00
|
|
|
import javax.xml.bind.annotation.*;
|
2012-02-17 14:42:20 +01:00
|
|
|
import java.io.IOException;
|
2012-04-08 02:35:01 +02:00
|
|
|
import java.text.SimpleDateFormat;
|
2012-02-17 14:42:20 +01:00
|
|
|
import java.util.Calendar;
|
|
|
|
import java.util.Date;
|
2012-04-08 02:35:01 +02:00
|
|
|
import java.util.TimeZone;
|
2012-02-17 14:42:20 +01:00
|
|
|
|
|
|
|
@XmlRootElement(name = "map")
|
|
|
|
@XmlAccessorType(XmlAccessType.PROPERTY)
|
2012-02-21 18:22:43 +01:00
|
|
|
@JsonAutoDetect(
|
|
|
|
fieldVisibility = JsonAutoDetect.Visibility.NONE,
|
|
|
|
setterVisibility = JsonAutoDetect.Visibility.PUBLIC_ONLY,
|
|
|
|
isGetterVisibility = JsonAutoDetect.Visibility.NONE,
|
|
|
|
getterVisibility = JsonAutoDetect.Visibility.PUBLIC_ONLY
|
|
|
|
)
|
2012-03-14 05:49:05 +01:00
|
|
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
2012-02-20 01:07:24 +01:00
|
|
|
public class RestMindmap {
|
2012-05-30 03:36:32 +02:00
|
|
|
@JsonIgnore
|
|
|
|
private Collaborator collaborator;
|
2012-02-21 18:22:43 +01:00
|
|
|
@JsonIgnore
|
2012-02-17 14:42:20 +01:00
|
|
|
private MindMap mindmap;
|
2012-04-08 02:35:01 +02:00
|
|
|
@JsonIgnore
|
|
|
|
static private SimpleDateFormat sdf;
|
|
|
|
|
|
|
|
static {
|
|
|
|
sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
|
|
|
|
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
|
|
|
|
}
|
2012-02-17 14:42:20 +01:00
|
|
|
|
2012-02-20 01:07:24 +01:00
|
|
|
public RestMindmap() {
|
2012-06-10 03:49:54 +02:00
|
|
|
this(new MindMap(), null);
|
2012-02-17 14:42:20 +01:00
|
|
|
|
|
|
|
}
|
|
|
|
|
2012-06-10 03:49:54 +02:00
|
|
|
public RestMindmap(@NotNull MindMap mindmap, @Nullable Collaborator collaborator) {
|
2012-02-17 14:42:20 +01:00
|
|
|
this.mindmap = mindmap;
|
2012-05-30 03:36:32 +02:00
|
|
|
this.collaborator = collaborator;
|
2012-02-17 14:42:20 +01:00
|
|
|
}
|
|
|
|
|
2012-04-08 02:35:01 +02:00
|
|
|
public String getCreationTime() {
|
|
|
|
final Calendar creationTime = mindmap.getCreationTime();
|
|
|
|
String result = null;
|
|
|
|
if (creationTime != null) {
|
|
|
|
result = this.toISO8601(creationTime.getTime());
|
|
|
|
}
|
|
|
|
return result;
|
2012-02-17 14:42:20 +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-12 16:23:47 +02:00
|
|
|
return mindmap.getCreator().getEmail();
|
2012-02-17 14:42:20 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public String getLastModifierUser() {
|
|
|
|
return mindmap.getLastModifierUser();
|
|
|
|
}
|
|
|
|
|
2012-04-08 02:35:01 +02:00
|
|
|
public String getLastModificationTime() {
|
|
|
|
final Calendar date = mindmap.getLastModificationTime();
|
2012-05-24 02:54:03 +02:00
|
|
|
String result = null;
|
|
|
|
if (date != null) {
|
|
|
|
result = toISO8601(date.getTime());
|
|
|
|
}
|
|
|
|
return result;
|
2012-02-17 14:42:20 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public boolean isPublic() {
|
|
|
|
return mindmap.isPublic();
|
|
|
|
}
|
|
|
|
|
2012-04-06 22:05:42 +02:00
|
|
|
|
|
|
|
public void setPublic(boolean value) {
|
2012-04-08 02:35:01 +02:00
|
|
|
// return mindmap.isPublic();
|
2012-04-06 22:05:42 +02:00
|
|
|
}
|
|
|
|
|
2012-02-17 14:42:20 +01:00
|
|
|
public String getXml() throws IOException {
|
2012-02-21 18:22:43 +01:00
|
|
|
return mindmap.getXmlStr();
|
2012-02-17 14:42:20 +01:00
|
|
|
}
|
|
|
|
|
2012-06-03 16:16:38 +02:00
|
|
|
|
2012-03-14 05:49:05 +01:00
|
|
|
public void setXml(@Nullable String xml) throws IOException {
|
2012-02-17 14:42:20 +01:00
|
|
|
|
2012-03-14 05:49:05 +01:00
|
|
|
if (xml != null)
|
|
|
|
mindmap.setXmlStr(xml);
|
2012-02-17 14:42:20 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public void setId(int id) {
|
|
|
|
mindmap.setId(id);
|
|
|
|
}
|
|
|
|
|
|
|
|
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-03 16:16:38 +02:00
|
|
|
public void setOwner(String owner) {
|
|
|
|
|
|
|
|
}
|
2012-03-14 05:49:05 +01:00
|
|
|
|
2012-06-03 16:16:38 +02:00
|
|
|
public String getOwner() {
|
2012-06-12 16:23:47 +02:00
|
|
|
final User owner = mindmap.getCreator();
|
2012-06-10 03:49:54 +02:00
|
|
|
return owner != null ? owner.getEmail() : null;
|
2012-02-17 14:42:20 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public void setCreator(String creatorUser) {
|
|
|
|
}
|
|
|
|
|
2012-02-21 18:22:43 +01:00
|
|
|
|
2012-02-17 14:42:20 +01:00
|
|
|
public void setProperties(String properties) {
|
|
|
|
mindmap.setProperties(properties);
|
|
|
|
}
|
|
|
|
|
2012-04-08 02:35:01 +02:00
|
|
|
public void setLastModificationTime(final String value) {
|
2012-02-17 14:42:20 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public void setLastModifierUser(String lastModifierUser) {
|
|
|
|
}
|
|
|
|
|
2012-02-21 18:22:43 +01:00
|
|
|
public String getProperties() {
|
|
|
|
return mindmap.getProperties();
|
|
|
|
}
|
|
|
|
|
2012-05-30 03:36:32 +02:00
|
|
|
public boolean getStarred() {
|
|
|
|
boolean result = false;
|
|
|
|
if (collaborator != null) {
|
|
|
|
result = mindmap.isStarred(collaborator);
|
|
|
|
}
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
2012-06-10 03:55:55 +02:00
|
|
|
public void setStarred(boolean value) throws WiseMappingException {
|
2012-06-06 05:48:46 +02:00
|
|
|
if (collaborator != null) {
|
|
|
|
mindmap.setStarred(collaborator, value);
|
|
|
|
}
|
2012-05-30 03:36:32 +02:00
|
|
|
}
|
|
|
|
|
2012-02-17 14:42:20 +01:00
|
|
|
@JsonIgnore
|
|
|
|
public MindMap getDelegated() {
|
|
|
|
return this.mindmap;
|
|
|
|
}
|
2012-04-08 02:35:01 +02:00
|
|
|
|
|
|
|
private String toISO8601(@Nullable Date date) {
|
|
|
|
String result = "";
|
|
|
|
if (date != null) {
|
|
|
|
result = sdf.format(date) + "Z";
|
|
|
|
}
|
|
|
|
return result;
|
|
|
|
}
|
2012-02-17 14:42:20 +01:00
|
|
|
}
|