Add support for revert changes ...

This commit is contained in:
Paulo Gustavo Veiga
2012-07-04 02:15:55 -03:00
parent b321e205b1
commit 5cf9756ed3
10 changed files with 76 additions and 20 deletions

View File

@@ -48,6 +48,7 @@ import java.util.*;
@Controller
public class MindmapController extends BaseController {
public static final String LATEST_HISTORY_REVISION = "latest";
@Qualifier("mindmapService")
@Autowired
private MindmapService mindmapService;
@@ -116,9 +117,21 @@ public class MindmapController extends BaseController {
@RequestMapping(value = "maps/{id}/history/{hid}", method = RequestMethod.POST)
@ResponseStatus(value = HttpStatus.NO_CONTENT)
public void updateRevertMindmap(@PathVariable int id, @PathVariable int hid) throws WiseMappingException {
public void updateRevertMindmap(@PathVariable int id, @PathVariable String hid) throws WiseMappingException {
final MindMap mindmap = mindmapService.findMindmapById(id);
mindmapService.revertChange(mindmap, hid);
final User user = Utils.getUser();
if (LATEST_HISTORY_REVISION.equals(hid)) {
// Revert to the latest stored version ...
List<MindMapHistory> mindmapHistory = mindmapService.findMindmapHistory(id);
if (mindmapHistory.size() > 0) {
final MindMapHistory mindMapHistory = mindmapHistory.get(0);
mindmap.setXml(mindMapHistory.getXml());
saveMindmap(true, mindmap, user);
}
} else {
mindmapService.revertChange(mindmap, Integer.parseInt(hid));
}
}
@RequestMapping(method = RequestMethod.PUT, value = "/maps/{id}/document", consumes = {"application/xml", "application/json"}, produces = {"application/json", "text/html", "application/xml"})

View File

@@ -89,5 +89,5 @@ site.baseurl = http://localhost:8080
##################################################################################
# Google Analytics Settings
##################################################################################
google.analytics.enabled=true
google.analytics.enabled=false
google.analytics.account=UA-XXXX

View File

@@ -33,7 +33,7 @@
// Configure designer options ...
var options = loadDesignerOptions();
options.persistenceManager = new mindplot.RESTPersistenceManager("service/maps/{id}/document");
options.persistenceManager = new mindplot.RESTPersistenceManager("service/maps/{id}/document","service/maps/{id}/history/latest");
var userOptions = ${mindmap.properties};
options.zoom = userOptions.zoom;
options.readOnly = ${!!readOnlyMode};

View File

@@ -83,7 +83,23 @@
</div>
</div>
</div>
<script type="text/javascript" src="../js/editor.js"></script>
<c:if test="${requestScope['google.analytics.enabled']}">
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '${requestScope['google.analytics.account']}']);
_gaq.push(['_trackPageview']);
(function () {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
</script>
</c:if>
</body>
</html>