Finish mindmapHistory rest service.

This commit is contained in:
Paulo Gustavo Veiga
2012-06-17 02:51:01 -03:00
parent 33131d4e9e
commit 5e67811dcf
29 changed files with 342 additions and 419 deletions

View File

@@ -105,13 +105,12 @@ public class MindmapController extends BaseController {
@RequestMapping(method = RequestMethod.GET, value = "/maps/{id}/history", produces = {"application/json", "text/html", "application/xml"})
public ModelAndView retrieveHistory(@PathVariable int id) throws IOException {
final MindMap mindMap = mindmapService.getMindmapById(id);
final Set<Collaboration> collaborations = mindMap.getCollaborations();
final RestCollaborationList result = new RestCollaborationList();
for (Collaboration collaboration : collaborations) {
result.addCollaboration(new RestCollaboration(collaboration));
final List<MindMapHistory> histories = mindmapService.getMindMapHistory(id);
final RestMindmapHistoryList result = new RestMindmapHistoryList();
for (MindMapHistory history : histories) {
result.addHistory(new RestMindmapHistory(history));
}
return new ModelAndView("collabView", "list", result);
return new ModelAndView("historyView", "list", result);
}
@RequestMapping(method = RequestMethod.PUT, value = "/maps/{id}/document", consumes = {"application/xml", "application/json"}, produces = {"application/json", "text/html", "application/xml"})
@@ -410,7 +409,7 @@ public class MindmapController extends BaseController {
final Calendar now = Calendar.getInstance();
mindMap.setLastModificationTime(now);
mindMap.setLastModifierUser(user.getUsername());
mindmapService.updateMindmap(mindMap, minor);
mindmapService.updateMindmap(mindMap, !minor);
}
private ValidationException buildValidationException(@NotNull String fieldName, @NotNull String message) throws ValidationException {

View File

@@ -0,0 +1,76 @@
package com.wisemapping.rest.model;
import com.wisemapping.model.Collaboration;
import com.wisemapping.model.Collaborator;
import com.wisemapping.model.MindMap;
import com.wisemapping.model.MindMapHistory;
import com.wisemapping.security.Utils;
import org.codehaus.jackson.annotate.JsonAutoDetect;
import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
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;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
@XmlRootElement(name = "history")
@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 RestMindmapHistory {
static private SimpleDateFormat sdf;
private int id;
private Calendar creation;
private String creator;
static {
sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
}
public RestMindmapHistory(@NotNull MindMapHistory history) {
this.id = history.getId();
this.creation = history.getCreationTime();
this.creator = history.getCreator();
}
public String getCreationTime() {
return this.toISO8601(creation.getTime());
}
public void setCreationTime() {
}
public String getCreator() {
return creator;
}
public void setCreator() {
// Do nothing ...
}
public void setId(int id) {
}
private String toISO8601(@NotNull Date date) {
return sdf.format(date) + "Z";
}
public int getId() {
return id;
}
}

View File

@@ -0,0 +1,44 @@
package com.wisemapping.rest.model;
import org.codehaus.jackson.annotate.JsonAutoDetect;
import org.jetbrains.annotations.NotNull;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.ArrayList;
import java.util.List;
@XmlRootElement(name = "history")
@XmlAccessorType(XmlAccessType.PROPERTY)
@JsonAutoDetect(
fieldVisibility = JsonAutoDetect.Visibility.NONE,
getterVisibility = JsonAutoDetect.Visibility.PUBLIC_ONLY,
isGetterVisibility = JsonAutoDetect.Visibility.PUBLIC_ONLY)
public class RestMindmapHistoryList {
private List<RestMindmapHistory> changes;
public RestMindmapHistoryList() {
changes = new ArrayList<RestMindmapHistory>();
}
public int getCount() {
return this.changes.size();
}
public void setCount(int count) {
}
@XmlElement(name = "changes")
public List<RestMindmapHistory> getChanges() {
return changes;
}
public void addHistory(@NotNull RestMindmapHistory history) {
changes.add(history);
}
}