Changeset 7158
- Timestamp:
- 05/13/08 15:32:56 (2 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
sandbox/vector-behavior/lib/OpenLayers/Protocol/HTTP.js
r7080 r7158 269 269 /** 270 270 * Method: commit 271 * Go over the features in the layerand for each take action271 * Go over the features and for each take action 272 272 * based on the feature state. Possible actions are create, 273 273 * update and delete. 274 274 * 275 275 * Parameters: 276 * layer - {<OpenLayers.Layer.Vector>}276 * features - {Array({<OpenLayers.Feature.Vector>})} 277 277 * options - {Object} Map of options, the keys of the map are 278 278 * 'create', 'update', and 'delete' 279 279 */ 280 commit: function( layer, options) {280 commit: function(features, options) { 281 281 var toCreate = []; 282 for (var i = layer.features.length - 1; i >= 0; i--) {283 var feature = layer.features[i];282 for (var i = features.length - 1; i >= 0; i--) { 283 var feature = features[i]; 284 284 switch (feature.state) { 285 285 case OpenLayers.State.INSERT: sandbox/vector-behavior/lib/OpenLayers/Protocol/SQL/GoogleGears.js
r7123 r7158 35 35 this.db.open(this.databaseName); 36 36 this.db.execute("CREATE TABLE IF NOT EXISTS " + this.tableName + 37 " (fid TEXT UNIQUE, geometry TEXT, properties TEXT)"); 37 " (fid TEXT UNIQUE, geometry TEXT, properties TEXT," + 38 " state TEXT)"); 38 39 39 40 this.db.execute("CREATE INDEX IF NOT EXISTS fid_idx ON " + … … 75 76 return [feature.fid, 76 77 feature.geometry.toString(), 77 this.jsonFormat.write(feature.attributes)]; 78 this.jsonFormat.write(feature.attributes), 79 feature.state]; 78 80 }, 79 81 … … 91 93 feature.attributes = this.jsonFormat.read(row.fieldByName('properties')); 92 94 feature.fid = row.fieldByName('fid'); 95 feature.state = row.fieldByName('state'); 93 96 94 97 return feature; … … 135 138 for (var i = 0; i < toCreate.length; i++) { 136 139 var feature = toCreate[i]; 137 this.db.execute("REPLACE INTO " + this.tableName + " (fid, geometry, properties) VALUES (?, ?, ?)", 140 this.db.execute("REPLACE INTO " + this.tableName + 141 " (fid, geometry, properties, state) " + 142 "VALUES (?, ?, ?, ?)", 138 143 this.freezeFeature(feature)); 139 createdFeatures.push(feature );144 createdFeatures.push(feature.clone()); 140 145 } 141 146 … … 168 173 for (var i = 0; i < toUpdate.length; i++) { 169 174 var feature = toUpdate[i]; 170 this.db.execute("REPLACE INTO " + this.tableName + " (fid, geometry, properties) VALUES (?, ?, ?)", 175 this.db.execute("REPLACE INTO " + this.tableName + 176 " (fid, geometry, properties, state) " + 177 "VALUES (?, ?, ?, ?)", 171 178 this.freezeFeature(feature)); 172 updatedFeatures.push(feature );179 updatedFeatures.push(feature.clone()); 173 180 } 174 181 … … 208 215 OpenLayers.Console.debug("GoogleGears::commit()"); 209 216 var toCreate = [], toUpdate = []; 210 217 211 218 for (var i = features.length - 1; i >= 0; i--) { 212 219 var feature = features[i];
