Correction bug modification autre projets. V00.07.04
authorymh <ymh.work@gmail.com>
Thu, 16 Jan 2014 01:28:38 +0100
changeset 242 570e18094e87
parent 240 18a43ba77ad0
child 243 521fee5b7fe4
Correction bug modification autre projets.
client/js/main.js
server/pom.xml
server/src/main/java/org/iri_research/renkan/Constants.java
server/src/main/java/org/iri_research/renkan/coweb/RenkanSessionModerator.java
server/src/main/java/org/iri_research/renkan/coweb/event/EdgeSyncEventManager.java
server/src/main/java/org/iri_research/renkan/coweb/event/NodeSyncEventManager.java
--- a/client/js/main.js	Wed Jan 15 18:36:27 2014 +0100
+++ b/client/js/main.js	Thu Jan 16 01:28:38 2014 +0100
@@ -327,24 +327,23 @@
         function pad(n){
             return n<10 ? '0'+n : n;
         }
-        function fillrand(n) {
-            var _res = '';
-            for (var i=0; i<n; i++) {
-                _res += Math.floor(16*Math.random()).toString(16);
-            }
-            return _res;
+        function fillrand() {
+            return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
+                var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
+                return v.toString(16);
+            });
         }
         var _d = new Date(),
             ID_AUTO_INCREMENT = 0,
             ID_BASE = _d.getUTCFullYear() + '-'  
             + pad(_d.getUTCMonth()+1) + '-'  
             + pad(_d.getUTCDate()) + '-'
-            + fillrand(16);
+            + fillrand();
         return function(_base) {
             var _n = (++ID_AUTO_INCREMENT).toString(16),
                 _base = (typeof _base === "undefined" ? "" : _base + "-" );
             while (_n.length < 4) { _n = '0' + _n; }
-            return _base + this._ID_BASE + '-' + _n;
+            return _base + ID_BASE + '-' + _n;
         }
     })(),
     getFullURL : function(url) {
--- a/server/pom.xml	Wed Jan 15 18:36:27 2014 +0100
+++ b/server/pom.xml	Thu Jan 16 01:28:38 2014 +0100
@@ -4,7 +4,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.iri_research.renkan</groupId>
     <artifactId>renkan</artifactId>
-    <version>0.7.3</version>
+    <version>0.7.4</version>
     <packaging>war</packaging>
 
     <properties>
--- a/server/src/main/java/org/iri_research/renkan/Constants.java	Wed Jan 15 18:36:27 2014 +0100
+++ b/server/src/main/java/org/iri_research/renkan/Constants.java	Thu Jan 16 01:28:38 2014 +0100
@@ -20,9 +20,9 @@
                 {
                     add("0");
                     add("7");
-                    add("3");
-                    add("alpha");
-                    add("1");
+                    add("4");
+                    add("final");
+                    add("0");
                 }
             });
 
--- a/server/src/main/java/org/iri_research/renkan/coweb/RenkanSessionModerator.java	Wed Jan 15 18:36:27 2014 +0100
+++ b/server/src/main/java/org/iri_research/renkan/coweb/RenkanSessionModerator.java	Thu Jan 16 01:28:38 2014 +0100
@@ -216,6 +216,7 @@
             this.logger.error(String.format(
                     "onSync EventManagerClass %s not found : error %s : %s",
                     sync_type, e.toString(), e.getMessage()));
+            //TODO: better manage errors (message back to the user, close the session ?
         }
 
     }
--- a/server/src/main/java/org/iri_research/renkan/coweb/event/EdgeSyncEventManager.java	Wed Jan 15 18:36:27 2014 +0100
+++ b/server/src/main/java/org/iri_research/renkan/coweb/event/EdgeSyncEventManager.java	Thu Jan 16 01:28:38 2014 +0100
@@ -86,6 +86,12 @@
         }
 
         String edge_id = (String) values.get("id");
+        
+        //check that edge id is unique
+        if(this.getEdgesRepository().exists(edge_id)) {
+            throw new CowebException("edge insert: edge exists",
+                    String.format("Edge %s already exists", edge_id));
+         }
 
         Edge edge = new Edge(edge_id, (String) values.get("title"),
                 (String) values.get("description"), (String) values.get("uri"),
--- a/server/src/main/java/org/iri_research/renkan/coweb/event/NodeSyncEventManager.java	Wed Jan 15 18:36:27 2014 +0100
+++ b/server/src/main/java/org/iri_research/renkan/coweb/event/NodeSyncEventManager.java	Thu Jan 16 01:28:38 2014 +0100
@@ -72,6 +72,13 @@
         String image = (String) values.get("image");
 
         String node_id = (String) values.get("id");
+        
+        //check that node id is unique
+        if(this.getNodesRepository().exists(node_id)) {
+            throw new CowebException("node insert: node exists",
+                    String.format("node %s already exists", node_id));
+         }
+        
 
         Integer size = (Integer) values.get("size");