Changeset 1384 for MDService2/trunk/MDService2
- Timestamp:
- 05/28/11 11:46:34 (13 years ago)
- Location:
- MDService2/trunk/MDService2
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
MDService2/trunk/MDService2/WebContent/index.jsp
r1233 r1384 152 152 <span id="qts_save" class="cmd cmd_save" ></span> 153 153 <div id="userqueries" ></div> 154 </div> 155 <div id="userbs" class="content"> 156 <div id="bookmarksets" > 157 <label>Bookmarksets</label><select id="bts_select" ></select> 158 <span id="bts_add" class="cmd cmd_add" ></span> 159 <span id="bts_delete" class="cmd cmd_del" ></span> 160 </div> 161 162 <label>name</label> 163 <input type="text" id="bts_input" ></input> 164 <span id="bts_save" class="cmd cmd_save" ></span> 165 <div id="bookmarks" ></div> 154 166 </div> 155 167 </div> -
MDService2/trunk/MDService2/WebContent/scripts/mdservice_model.js
r1350 r1384 16 16 server_json = undefined; 17 17 }; 18 19 Workspace.prototype.getTypedElement = function(type, elementtype, id){ 20 var json; 21 if (type == 'server'){ 22 json = this.server_json; 23 } else { 24 json = this.user_json; 25 } 26 switch(elementtype){ 27 case 'queryset': 28 return json["WorkspaceProfile"].Querysets; 29 case 'bookmarkset': 30 return json["WorkspaceProfile"].Bookmarksets; 31 case 'query': 32 return json["WorkspaceProfile"]["Querysets"][id]["Queries"]; 33 case 'bookmark': 34 return json["WorkspaceProfile"]["Bookmarksets"][id]["Bookmarks"]; 35 } 36 37 }; 38 39 Workspace.setTypedElement = function(type, id,data){ 40 switch(type){ 41 case 'queryset': 42 this.user_json["WorkspaceProfile"].Querysets = data; 43 break; 44 case 'bookmarkset': 45 this.user_json["WorkspaceProfile"].Bookmarksets = data; 46 break; 47 case 'query': 48 workspace.user_json["WorkspaceProfile"]["Querysets"][id]["Queries"] = data; 49 break; 50 case 'bookmark': 51 workspace.user_json["WorkspaceProfile"]["Bookmarksets"][id]["Bookmarks"] = data; 52 break; 53 } 54 55 }; 56 57 Workspace.prototype.addelement = function(type, json, id){ 58 var elems = this.getTypedElement('user', type, id); 59 var iq = 0; 60 61 if (elems == "null"){ 62 Workspace.setTypedElement(type,id, "[{}]"); 63 } else { 64 iq = elems.length; 65 } 66 if (json == undefined){ 67 var str_time = dateFormat(new Date());//dt.toString("yyyy-MM-dd HH:mm:ss"); 68 var name; 69 if (type == "bookmarkset"){ 70 name = "new_bookmarkset"; 71 json = {"name":name, "id":0, "created":str_time , "Bookmarks" : "null"}; 72 } 73 if (type == "queryset"){ 74 name = "new_queryset"; 75 json = {"name":name, "id":0, "created":str_time , "Queries" : "null"}; 76 } 77 } 78 elems[iq] = json; 79 80 return json; 81 //this.user_json["WorkspaceProfile"]["Querysets"][id] = {"name":name, "id":0, "created":str_time , "Queries" : "null"}; 82 83 }; 84 /* 18 85 Workspace.prototype.addquery = function(jsonquery, qsid){ 19 86 var qsjson = this.user_json["WorkspaceProfile"]["Querysets"][qsid]; … … 40 107 } 41 108 42 this.user_json["WorkspaceProfile"]["Querysets"][id] = {"name":name,"created":str_time , "Queries" : "null"}; 43 44 }; 45 Workspace.prototype.removequeryset = function(qsid){ 46 //var ind; 47 //$.each(this.user_json["WorkspaceProfile"]["Querysets"], function(index,jdata){ 48 // if (jdata == json){ 49 // ind = index; 50 // } 51 //}); 52 var size = this.user_json["WorkspaceProfile"].Querysets.length; 53 54 for (var i=qsid;i<size-1;i++){ 55 this.user_json["WorkspaceProfile"].Querysets[i] = this.user_json["WorkspaceProfile"].Querysets[i+1]; 56 } 57 58 delete this.user_json["WorkspaceProfile"].Querysets[size-1]; 59 this.user_json["WorkspaceProfile"]["Querysets"].length = size-1; 109 this.user_json["WorkspaceProfile"]["Querysets"][id] = {"name":name, "id":0, "created":str_time , "Queries" : "null"}; 110 111 }; 112 113 Workspace.prototype.addbookmark = function(jsonquery, qsid){ 114 var qsjson = this.user_json["WorkspaceProfile"]["Bookmarksets"][qsid]; 115 var queries = qsjson["Bookmarks"]; 116 var iq = 0; 117 118 if (queries == "null"){ 119 qsjson["Bookmarks"] = [{}]; 120 } else { 121 iq = queries.length; 122 } 123 qsjson["Bookmarks"][iq] = jsonquery; 124 }; 125 Workspace.prototype.addbookmarkset = function(name){ 126 127 var id = $('#bts_select option').size(); 128 var dt = new Date(); 129 var str_time = dateFormat(dt); 130 131 if (id == 0){ 132 this.user_json["WorkspaceProfile"]["Bookmarksets"] = [{}]; 133 } 134 135 this.user_json["WorkspaceProfile"]["Bookmarksets"][id] = {"name":name, "id":0, "created":str_time , "Bookmarks" : "null"}; 136 137 }; 138 */ 139 Workspace.prototype.removeelement = function(type, id1, id2){ 140 var set = this.getTypedElement('user', type,id2); 141 var size = set.length; 142 for (var i=id1;i<size-1;i++){ 143 set[i] = set[i+1]; 144 } 145 delete set[size-1]; 146 set.length = size-1; 60 147 // set null string , if 0 querysets 61 148 if (size == 1) { 62 this.user_json["WorkspaceProfile"]["Querysets"] = "null"; 149 Workspace.setTypedElement(type,id2,"null"); 150 } 151 }; 152 /* 153 Workspace.prototype.removebookmarkset = function(qsid){ 154 155 var size = this.user_json["WorkspaceProfile"].Bookmarksets.length; 156 157 for (var i=qsid;i<size-1;i++){ 158 this.user_json["WorkspaceProfile"].Bookmarksets[i] = this.user_json["WorkspaceProfile"].Bookmarksets[i+1]; 159 } 160 161 delete this.user_json["WorkspaceProfile"].Bookmarksets[size-1]; 162 this.user_json["WorkspaceProfile"]["Bookmarksets"].length = size-1; 163 // set null string , if 0 querysets 164 if (size == 1) { 165 this.user_json["WorkspaceProfile"]["Bookmarksets"] = "null"; 63 166 } 64 167 }; … … 71 174 }; 72 175 176 Workspace.prototype.getBookmarksets = function(){ 177 178 return this.user_json["WorkspaceProfile"]["Bookmarksets"]; 179 180 }; 181 */ 73 182 Workspace.prototype.getCustomTermsets = function(){ 74 183 var json; … … 84 193 85 194 }; 86 Workspace.prototype.savequery = function(json, q uerysetname){195 Workspace.prototype.savequery = function(json, qsid, bookmark){ 87 196 var JSONText; 88 197 var type = "user"; 89 var qdata = "/" + querysetname;198 var qdata = "/";// + querysetid; 90 199 JSONText = JSON.stringify(json); 91 200 if (bookmark == 0){ 201 qdata = qdata + this.getTypedElement(type, 'queryset')[qsid]["id"]; 202 } else { 203 qdata = qdata + this.getTypedElement(type, 'bookmarkset')[qsid]["id"]; 204 } 205 92 206 $.post("/MDService2/workspaceprofilesave/" + type + qdata,{"data":JSONText}, function(data) { 93 207 if (json.id == 0){ 94 208 json.id = $(data).text(); 95 appendQueryUI(json,querysetname, $('#userqueries')); 96 } else { 97 changeQueryUI(json,querysetname, $('#userqueries')); 98 } 209 if (bookmark == 0){ 210 appendQueryUI(json,qsid, $('#userqueries')); 211 } else { 212 appendBookmarkUI(json,qsid, $('#bookmarks')); 213 } 214 } 215 }); 216 }; 217 Workspace.prototype.savequeryset = function(json, bookmark){ 218 var JSONText; 219 var type = "user"; 220 JSONText = JSON.stringify(json); 221 222 $.post("/MDService2/workspaceprofilesave/" + type,{"data":JSONText}, function(data) { 223 if (json.id == 0){ 224 json.id = $(data).text(); 225 // todo appendQueryset 226 if (bookmark == 0){ 227 loadQuerysets(type); 228 } else { 229 loadBookmarksets(); 230 } 231 } 99 232 }); 100 233 }; … … 213 346 }; 214 347 Query.prototype.save = function(){ 215 //queryset id 216 var qsid = parseInt($("#qts_select option:selected").val()); 217 //var qsname = $("#qts_select option:selected").text(); 218 //var qsjson = $("#qts_select option:selected").val(); 219 var qsjson = workspace.getQuerysets("user")[qsid]; 348 var qsid; 349 var qsjson; 220 350 var jsonq = this.toJSON(); 221 if (this.id == 0){ 222 workspace.addquery(jsonq, qsid);//qsjson); 223 workspace.savequery(jsonq, qsjson["name"]); 224 } else { 225 workspace.savequery(jsonq); 226 } 351 352 if (this.bookmark == 0){ 353 qsid = parseInt($("#qts_select option:selected").val()); 354 //qsjson = workspace.getQuerysets("user")[qsid]; 355 if (this.id == 0){ 356 workspace.addelement("query",jsonq, qsid);//qsjson); 357 workspace.savequery(jsonq, qsid,this.bookmark); 358 } else { 359 workspace.savequery(jsonq, this.bookmark); 360 } 361 } else { 362 qsid = parseInt($("#bts_select option:selected").val()); 363 //qsjson = workspace.getBookmarksets()[qsid]; 364 if (this.id == 0){ 365 workspace.addelement("bookmark", jsonq, qsid);//qsjson); 366 workspace.savequery(jsonq, qsid,this.bookmark); 367 } else { 368 workspace.savequery(jsonq, this.bookmark); 369 } 370 } 371 372 373 227 374 }; 228 375 /* -
MDService2/trunk/MDService2/WebContent/scripts/mdservice_ui.js
r1350 r1384 515 515 }); 516 516 517 ///// datasets/queries517 ///// QUERYSETS 518 518 $('#qts_save').click(function(){ 519 519 var id = $("#qts_select option:selected").val(); 520 520 //notifyUser($('#qts_input').val() + $('#qts_input').text(),'debug'); 521 521 workspace.user_json["WorkspaceProfile"]["Querysets"][id]["name"] = $('#qts_input').val(); 522 workspace.save("USER"); 522 //workspace.save("USER"); 523 workspace.savequeryset(workspace.user_json["WorkspaceProfile"]["Querysets"][id],0); 523 524 524 525 $("#qts_select option:selected").text( $('#qts_input').val()); … … 526 527 }); 527 528 $('#qts_add').click(function(){ 528 var new_name = "new_queryset"; 529 530 workspace.addqueryset(new_name); 531 workspace.save("USER"); 529 //var new_name = "new_queryset"; 530 531 //workspace.addqueryset(new_name); 532 //var id = workspace.user_json["WorkspaceProfile"]["Querysets"].length-1; 533 //workspace.savequeryset(workspace.user_json["WorkspaceProfile"]["Querysets"][id],0); 534 //workspace.save("USER"); 535 var q = workspace.addelement('queryset'); 536 workspace.savequeryset(q, 0); 532 537 //todo 533 538 var id = $('#qts_select option').size(); 534 $("#qts_select").append(new Option( new_name, id));539 $("#qts_select").append(new Option(q["name"], id)); 535 540 $("#qts_select").find('option').attr("selected","false"); 536 541 $("#qts_select").find('option').last().attr("selected","true"); 537 $('#qts_input').val( new_name);542 $('#qts_input').val(q["name"]); 538 543 }); 539 544 $('#qts_delete').click(function(){ 540 var count = $("#qts_select option").size();541 542 //if (count > 1){543 /*544 var id = parseInt($("#qts_select option:selected").val());545 var size = jsonw["WorkspaceProfile"].Querysets.length;546 547 for (var i=id;i<size-1;i++){548 jsonw["WorkspaceProfile"].Querysets[i] = jsonw["WorkspaceProfile"].Querysets[i+1];549 }550 551 delete jsonw["WorkspaceProfile"].Querysets[size-1];552 jsonw["WorkspaceProfile"]["Querysets"].length = size-1;553 // set null string , if 0 querysets554 if (count == 1) {555 jsonw["WorkspaceProfile"]["Querysets"] = "null";556 }557 //saveWorkspace("USER");558 Workspace.save("USER");559 //$("#qts_select option").remove();560 loadQuerysets(jsonw["WorkspaceProfile"]["Querysets"],"user");561 562 //}563 */564 545 var qsid = parseInt($("#qts_select option:selected").val()); 565 //var json = $("#qts_select option:selected").val(); 566 workspace.removequeryset(qsid); 546 workspace.removeelement("queryset", qsid); 567 547 workspace.save("USER"); 568 548 //update 569 //loadQuerysets(jsonw["WorkspaceProfile"]["Querysets"],"user");570 549 loadQuerysets("user"); 571 550 }); 572 551 552 //BOOKMARKSETS 553 $('#bts_save').click(function(){ 554 var id = $("#bts_select option:selected").val(); 555 workspace.user_json["WorkspaceProfile"]["Bookmarksets"][id]["name"] = $('#bts_input').val(); 556 workspace.savequeryset(workspace.user_json["WorkspaceProfile"]["Bookmarksets"][id],1); 557 558 $("#bts_select option:selected").text( $('#bts_input').val()); 559 }); 560 $('#bts_add').click(function(){ 561 var b = workspace.addelement('bookmarkset'); 562 //var id = workspace.user_json["WorkspaceProfile"]["Bookmarksets"].length-1; 563 //workspace.savequeryset(workspace.user_json["WorkspaceProfile"]["Bookmarksets"][id],1); 564 workspace.savequeryset(b,1); 565 566 var id = $('#bts_select option').size(); 567 $("#bts_select").append(new Option(b["name"], id)); 568 $("#bts_select").find('option').attr("selected","false"); 569 $("#bts_select").find('option').last().attr("selected","true"); 570 $('#bts_input').val(b["name"]); 571 }); 572 $('#bts_delete').click(function(){ 573 var bsid = parseInt($("#bts_select option:selected").val()); 574 575 workspace.removeelement("bookmarkset", bsid); 576 workspace.save("USER"); 577 //update 578 loadBookmarksets("user"); 579 }); 580 581 //////////////////////////////////////////////// 573 582 $('#ts_save').click(function(){ 574 583 var id = $("#ts_select option:selected").val(); … … 682 691 //var q = json["WorkspaceProfile"]["Querysets"][id]["Queries"][iq]; 683 692 684 var q = $(this).closest('.cmds-elem-plus').data("query json");693 var q = $(this).closest('.cmds-elem-plus').data("query");//json"); 685 694 loadQuery(q); 686 695 }); 687 696 $('#userqueries .cmd_load').live('click',function(event){ 688 689 //var id = parseInt( $("#qts_select option:selected").val()); 690 //var str = $(this).parent().find('a').attr("href"); 691 //var iq = parseInt(str.substring(7)); 692 //var q = workspace.getQuerysets("user")[id]["Queries"][iq]; 693 var q = $(this).closest('.cmds-elem-plus').data("queryjson"); 697 var q = $(this).closest('.cmds-elem-plus').data("query");//json"); 694 698 loadQuery(q); 695 699 }); 696 700 $('#userqueries .cmd_del').live('click', function(event){ 697 701 //var count = $("#userqueries li").size(); 702 /* 698 703 var id = parseInt($("#qts_select option:selected").val()); 699 704 var str = $(this).parent().find('a').attr("href"); … … 711 716 workspace.user_json["WorkspaceProfile"]["Querysets"][id]["Queries"] = "null"; 712 717 } 713 718 */ 714 719 //saveWorkspace("USER"); 715 workspace.save("USER"); 720 var id2 = parseInt($("#qts_select option:selected").val()); 721 var id1 = parseInt( $(this).parent().find('a').attr("href").substring(7)); 722 workspace.removeelement("query", id1, id2); 723 workspace.save("user"); 716 724 loadQuerysets("user"); 717 725 //$("#qs_select option").remove(); 718 726 //$("#qs_select option").first().attr("selected","true"); 727 }); 728 729 $('#bookmarks .cmd_load').live('click',function(event){ 730 var q = $(this).closest('.cmds-elem-plus').data("query");//json"); 731 var uri = "/MDService2/record/htmldetail/" + q.query; 732 detailcaller.calldetail(undefined, "record", uri); 733 }); 734 $('#bookmarks .cmd_del').live('click', function(event){ 735 var id2 = parseInt($("#bts_select option:selected").val()); 736 var id1 = parseInt( $(this).parent().find('a').attr("href").substring(7)); 737 workspace.removeelement("bookmark", id1, id2); 738 workspace.save("user"); 739 loadBookmarksets(); 719 740 }); 720 741 … … 934 955 935 956 }; 936 957 function loadQuery(query){ 958 query.repository = getSelectedRepository(); 959 queryset.addquery(query); 960 961 searchclauseset.sctext = query.query; 962 notifyUser(searchclauseset.sctext,'debug'); 963 searchclauseset.buildfromquerystring(); 964 965 //collections = query.collection; 966 collections_widget.load(query.collection); 967 columns_widget.load(query.columns.split(',')); 968 $('#input-simplequery').attr("value",query.squery); 969 $('#input-withsummary').attr("checked",(query.options != null)); 970 updateCollectionTree(); 971 972 }; 973 /* 937 974 function loadQuery(q){ 938 975 if (q["bookmark"] == "1") { … … 962 999 963 1000 } 964 1001 */ 965 1002 function loadQueryFromUriParams(local_uri){ 966 1003 var url; -
MDService2/trunk/MDService2/WebContent/scripts/mdservice_ui_load.js
r1350 r1384 71 71 //loadQuerysets(workspace.user_json["WorkspaceProfile"]["Querysets"],"user"); 72 72 loadQuerysets("user"); 73 loadBookmarksets(); 73 74 //loadTermsets(jsonw["WorkspaceProfile"]["CustomTermsets"]); 74 75 createTooltip(this); … … 247 248 }; 248 249 250 // QUERYSETS UI 249 251 function appendQueryUI(json,i, qs){ 250 252 var del = ''; … … 340 342 function loadQuerysets(type) { 341 343 342 var json = workspace.get Querysets(type);344 var json = workspace.getTypedElement(type, 'queryset'); 343 345 var $select; 344 346 if (type == "user") { … … 396 398 } 397 399 400 // BOOKMARKS UI 401 function appendBookmarkUI(json,i, bs){ 402 var del = ''; 403 var name = ''; 404 var id = $(qs).parent().attr('id'); 405 406 del = '<span class="cmd cmd_del" ><xsl:text> </xsl:text></span>'; 407 name = '<div class="cmds-elem-prop"><span class="label">name:</span><input type="text" class="input-name" value="' + json.name + '"></div>'; 408 409 var timestr = ""; 410 if (json.time != undefined){ 411 timestr = json.time; 412 } 413 var squery = json.squerystring; 414 if (squery = "[NULL]"){ 415 squery = ""; 416 } 417 var qq = json.querystring; 418 if (qq = "[NULL]"){ 419 qq = ""; 420 } 421 var x = '<div class="cmds-elem-plus" ><span class="cmd cmd_load"></span><span class="detail-caller-inline" ><a href="'+id + '_'+ i+'" >' + 422 json.name + '</a></span>' + 423 del + 424 '<span class="cmd cmd_publish"></span><div class="detail" >' + 425 name + 426 '<div class="cmds-elem-prop"><span class="label">squery:</span><span class="value">' + squery + '</span></div>' + 427 '<div class="cmds-elem-prop"><span class="label">query:</span><span class="value">' + Query.simplequerystring(qq) + '</span></div>' + 428 '<div class="cmds-elem-prop"><span class="label">collections:</span><span class="value">' + Query.collectiontext(json) + '</span></div>' + 429 '<div class="cmds-elem-prop"><span class="label">columns:</span><span class="value">' + Query.columnstext(json) + '</span></div>' + 430 '<div class="cmds-elem-prop"><span class="label">time:</span><span class="value">' + timestr + '</span></div>' + 431 '<div class="cmds-elem-prop"><span class="label">bookmark:</span><span class="value">' + json.bookmark + '</span></div>' + 432 '<div class="cmds-elem-prop"><span class="label">options:</span><span class="value">' + Query.optionstext(json) + '</span></div>' + 433 '</div>'; 434 435 $(bs).append(x); 436 437 var query = new Query([],"","",""); 438 query.load(json); 439 $(bs).find("[href='"+ id + "_" + i + "']").closest('.cmds-elem-plus').data('query',query); 440 $(bs).find("[href='"+ id + "_" + i + "']").closest('.cmds-elem-plus').data('queryjson',json); 441 $(bs).find('.input-name').data('queryjson',json); 442 $(bs).find('.detail').css({'z-index' : '1000'}); 443 444 $(bs).find('.input-name').keydown(function(ev){ 445 var evStop = function(){ 446 ev.stopPropagation(); 447 ev.preventDefault(); 448 }; 449 if (ev.which === 13) { 450 $(this).data("queryjson").name = $(this).val(); 451 $(this).data("query").name = $(this).val(); 452 workspace.save("user"); 453 //var query = new Query(); 454 //query.load($(this).data("queryjson")); 455 //query.save(); 456 /* 457 var id = parseInt( $("#qts_select option:selected").val()); 458 $(this).parent().parent().parent().find('a').text($(this).val()); 459 var str = $(this).parent().parent().parent().find('a').attr("href"); 460 var iq = parseInt(str.substring(7)); 461 462 jsonw["WorkspaceProfile"]["Querysets"][id]["Queries"][iq].name = $(this).val(); 463 //saveWorkspace("USER"); 464 Workspace.save("USER"); 465 */ 466 evStop(); 467 } 468 }); 469 createTooltip(qs); 470 } 471 472 function createBookmarksUI(json, bs){ 473 $(bs).children().remove(); 474 if (json.Bookmarks != "null") { 475 $.each(json.Bookmarks, function(i,item) { 476 if (this != "null"){ 477 appendBookmarkUI(this,i, bs); 478 } 479 }); 480 } 481 482 } 483 function loadBookmarksets() { 484 485 var json = workspace.getTypedElement('user','bookmarkset'); 486 var $select = $('#bts_select'); 487 488 $select.find("option").remove(); 489 490 if (String(json) != "null") { 491 492 $.each(json, function(i,item) { 493 $select.append(new Option(this.name, i)); 494 }); 495 496 497 // find id of selected 498 if ($select.find("option").size() > 0) { 499 $select.find("option").first().attr("selected","true"); 500 var id = parseInt($select.find("option:selected").val()); 501 var jsonb = json[id]; 502 503 $('#bts_input').val(jsonb["name"]); 504 //qs = $("#bookmarks"); 505 506 createBookmarksUI(jsonb, $("#bookmarks")); 507 } 508 509 $select.change(function(data){ 510 if ($select.find("option").size() > 0) { 511 // find id of selected 512 var id = parseInt($select.find("option:selected").val()); 513 var jsonq = json[id]; 514 515 $('#bts_input').val(jsonq["name"]); 516 bs = $("#bookmarks"); 517 518 createBookmarksUI(jsonq, bs); 519 520 } 521 }); 522 523 } 524 525 } 398 526 399 527 function preprocessJSON(json){ … … 439 567 json["WorkspaceProfile"]["Querysets"][0] = jj; 440 568 } 569 if (json["WorkspaceProfile"].Bookmarksets[0] == undefined){ 570 var jj = json["WorkspaceProfile"]["Bookmarksets"]["item"]; 571 delete json["WorkspaceProfile"]["Bookmarksets"]["item"]; 572 json["WorkspaceProfile"]["Bookmarksets"] = [{}]; 573 json["WorkspaceProfile"]["Bookmarksets"][0] = jj; 574 } 575 441 576 if (String(json["WorkspaceProfile"]["Querysets"]) != "null") { 442 577 … … 474 609 } 475 610 611 612 if (String(json["WorkspaceProfile"]["Bookmarksets"]) != "null") { 613 614 $.each(json["WorkspaceProfile"]["Bookmarksets"], function(i,item) { 615 if (this.Bookmarks[0] == undefined){ 616 var jj = this["Bookmarks"]["item"]; 617 delete this["Bookmarks"]["item"]; 618 this.Bookmarks = [{}]; 619 this.Bookmarks[0] = jj; 620 } 621 }); 622 623 $.each(json["WorkspaceProfile"]["Bookmarksets"], function(i,item){ 624 if (String(this.Bookmarks) != "null") { 625 $.each(this.Bookmarks, function(i,item){ 626 if (this.collections != "null") { 627 if (this.collections[0] == undefined){ 628 var jj = this["collections"]["item"]; 629 delete this["collections"]["item"]; 630 this.collections = [{}]; 631 this.collections[0] = jj; 632 } 633 } 634 if (this.columns != "null") { 635 if (this.columns[0] == undefined){ 636 var jj = this["columns"]["item"]; 637 delete this["columns"]["item"]; 638 this.columns = [{}]; 639 this.columns[0] = jj; 640 } 641 } 642 }); 643 } 644 }); 645 } 476 646 return json; 477 647 -
MDService2/trunk/MDService2/src/eu/clarin/cmdi/mdservice/action/WorkspaceAction.java
r1350 r1384 91 91 // save element type 92 92 public static String SE_WORKSPACE = "workspace"; 93 public static String SE_QUERYSET = "queryset"; 93 94 public static String SE_QUERY = "query"; 95 public static String SE_BOOKMARKSET = "bookmarkset"; 96 public static String SE_BOOKMARK = "bookmark"; 94 97 95 98 // administration query identification … … 456 459 nodelist.item(0).setTextContent(to_id); 457 460 } 458 public String createNew Qid(){459 String id = workspace_doc.getElementsByTagName( "maxqid").item(0).getTextContent();461 public String createNewId(String name){ 462 String id = workspace_doc.getElementsByTagName(name).item(0).getTextContent(); 460 463 Integer i = Integer.parseInt(id) + 1; 461 464 id = i.toString(); 462 workspace_doc.getElementsByTagName( "maxqid").item(0).setTextContent(id);465 workspace_doc.getElementsByTagName(name).item(0).setTextContent(id); 463 466 return id.toString(); 464 467 } 468 /* 469 public String createNewQsid(){ 470 String id = workspace_doc.getElementsByTagName("maxqsid").item(0).getTextContent(); 471 Integer i = Integer.parseInt(id) + 1; 472 id = i.toString(); 473 workspace_doc.getElementsByTagName("maxqsid").item(0).setTextContent(id); 474 return id.toString(); 475 } 476 */ 465 477 public InputStream createStream(String value) throws TransformerException, TransformerFactoryConfigurationError, ParserConfigurationException, UnsupportedEncodingException{ 466 478 DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance(); … … 502 514 String rootname = "WorkspaceProfile"; 503 515 if (this.elementtype.equals(WorkspaceAction.SE_QUERY)){ 504 rootname = "Query"; 516 rootname = "item"; 517 } 518 if (this.elementtype.equals(WorkspaceAction.SE_QUERYSET)){ 519 rootname = "item"; 505 520 } 506 521 return rootname; … … 530 545 Node node = new_doc.getFirstChild(); 531 546 if (this.qid.equals("0")){ 532 newid = createNew Qid();547 newid = createNewId("maxqid"); 533 548 new_doc.getElementsByTagName("id").item(0).setTextContent(newid); 534 549 Element root = workspace_doc.getDocumentElement(); … … 536 551 node2 = workspace_doc.renameNode(node2, "", "item"); 537 552 // apend to specific queryset 538 NodeList wsnodelist = (NodeList) getQuery set();553 NodeList wsnodelist = (NodeList) getQueryParent(); 539 554 wsnodelist.item(0).appendChild(node2); 540 555 } … … 559 574 } 560 575 } 576 if (this.elementtype.equals(WorkspaceAction.SE_BOOKMARK)){ 577 // new bookmark 578 Node node = new_doc.getFirstChild(); 579 if (this.qid.equals("0")){ 580 newid = createNewId("maxbid"); 581 new_doc.getElementsByTagName("id").item(0).setTextContent(newid); 582 Element root = workspace_doc.getDocumentElement(); 583 Node node2 = workspace_doc.adoptNode(node.cloneNode(true)); 584 node2 = workspace_doc.renameNode(node2, "", "item"); 585 // apend to specific bookmarkset 586 NodeList wsnodelist = (NodeList) getBookmarkParent(); 587 wsnodelist.item(0).appendChild(node2); 588 } 589 590 else { 591 // edit existing query 592 NodeList wsnodelist = (NodeList) getQuery(); 593 // remove 594 //childeNode 595 if (wsnodelist.getLength() > 0){ 596 //Element root = workspace_doc.getDocumentElement(); 597 Node node2 = workspace_doc.adoptNode(node.cloneNode(true)); 598 node2 = workspace_doc.renameNode(node2, "", "item"); 599 Node qnode = (Node)wsnodelist.item(0); 600 //root.replaceChild(node2,(Node)wsnodelist.item(0)); 601 602 Element parentElement = (Element)qnode.getParentNode(); 603 parentElement.insertBefore(node2, qnode); 604 qnode.getParentNode().removeChild(qnode); 605 parentElement.normalize(); 606 } 607 } 608 } 609 //new queryset 610 if (this.elementtype.equals(WorkspaceAction.SE_QUERYSET)){ 611 // new queryset 612 Node node = new_doc.getFirstChild(); 613 if (this.qsid.equals("0")){ 614 newid = createNewId("maxqsid"); 615 new_doc.getElementsByTagName("id").item(0).setTextContent(newid); 616 Element root = workspace_doc.getDocumentElement(); 617 Node node2 = workspace_doc.adoptNode(node.cloneNode(true)); 618 node2 = workspace_doc.renameNode(node2, "", "item"); 619 // apend to specific querysets 620 NodeList wsnodelist = (NodeList) this.getWorkspace(); 621 Element welem = (Element)wsnodelist.item(0); 622 welem.getElementsByTagName("Querysets").item(0).appendChild(node2); 623 } 624 625 else { 626 // edit existing queryset 627 NodeList wsnodelist = (NodeList) getQueryset(); 628 // remove 629 //childeNode 630 if (wsnodelist.getLength() > 0){ 631 //Element root = workspace_doc.getDocumentElement(); 632 Node node2 = workspace_doc.adoptNode(node.cloneNode(true)); 633 node2 = workspace_doc.renameNode(node2, "", "item"); 634 Node qset = (Node)wsnodelist.item(0); 635 636 Element parentElement = (Element)qset.getParentNode(); 637 parentElement.insertBefore(node2, qset); 638 qset.getParentNode().removeChild(qset); 639 parentElement.normalize(); 640 } 641 } 642 } 643 644 //new bookmarkset 645 if (this.elementtype.equals(WorkspaceAction.SE_BOOKMARKSET)){ 646 // new queryset 647 Node node = new_doc.getFirstChild(); 648 if (this.qsid.equals("0")){ 649 newid = createNewId("maxbsid"); 650 new_doc.getElementsByTagName("id").item(0).setTextContent(newid); 651 Element root = workspace_doc.getDocumentElement(); 652 Node node2 = workspace_doc.adoptNode(node.cloneNode(true)); 653 node2 = workspace_doc.renameNode(node2, "", "item"); 654 // apend to specific querysets 655 NodeList wsnodelist = (NodeList) this.getWorkspace(); 656 Element welem = (Element)wsnodelist.item(0); 657 welem.getElementsByTagName("Bookmarksets").item(0).appendChild(node2); 658 } 659 660 else { 661 // edit existing bookmarkset 662 NodeList wsnodelist = (NodeList) getBookmarkset(); 663 // remove 664 //childeNode 665 if (wsnodelist.getLength() > 0){ 666 //Element root = workspace_doc.getDocumentElement(); 667 Node node2 = workspace_doc.adoptNode(node.cloneNode(true)); 668 node2 = workspace_doc.renameNode(node2, "", "item"); 669 Node qset = (Node)wsnodelist.item(0); 670 671 Element parentElement = (Element)qset.getParentNode(); 672 parentElement.insertBefore(node2, qset); 673 qset.getParentNode().removeChild(qset); 674 parentElement.normalize(); 675 } 676 } 677 } 561 678 return newid; 562 679 } 563 680 564 //todo 681 //todo .has("Queries") 565 682 public void parseDataInit(JSONObject json){ 566 683 // workspaceelement 567 if (json. containsKey("Querysets")) {684 if (json.has("Querysets")) { 568 685 this.setQid("0"); 569 686 this.setElementtype(WorkspaceAction.SE_WORKSPACE); 570 687 } else { 571 // Queryelement 572 this.setElementtype(WorkspaceAction.SE_QUERY); 573 this.setQid(json.getString("id")); 574 //this.// 688 // Querysetelement 689 if (json.has("Queries")) { 690 this.setElementtype(WorkspaceAction.SE_QUERYSET); 691 this.setQsid(json.getString("id")); 692 } else { 693 if (json.has("Bookmarks")) { 694 this.setElementtype(WorkspaceAction.SE_BOOKMARKSET); 695 this.setQsid(json.getString("id")); 696 } else { 697 // Query-Bookmark-element 698 if (json.getString("bookmark").equals("1")) { 699 this.setElementtype(WorkspaceAction.SE_BOOKMARK); 700 } else { 701 // Queryelement 702 this.setElementtype(WorkspaceAction.SE_QUERY); 703 } 704 this.setQid(json.getString("id")); 705 } 706 } 575 707 } 576 708 … … 741 873 XPathExpression expr; 742 874 expr = xpath.compile("//Profiles/WorkspaceProfiles/WorkspaceProfile/Querysets/item/Queries/item[id='" + this.qid + "']"); 743 //expr = xpath.compile("//item[@id='" + this.qid + "']");875 //expr = xpath.compile("//item[@id='" + this.qid + "']"); 744 876 //expression is evaluated with respect to a certain context node which is doc. 745 877 Object result = null; … … 753 885 } 754 886 755 public Object getQueryset() throws XPathExpressionException{887 public Object getQueryParent() throws XPathExpressionException{ 756 888 757 889 XPathFactory factory = XPathFactory.newInstance(); 758 890 XPath xpath = factory.newXPath(); 759 891 XPathExpression expr; 760 expr = xpath.compile("//Profiles/WorkspaceProfiles/WorkspaceProfile/Querysets/item[ name='" + this.qsid + "']/Queries");892 expr = xpath.compile("//Profiles/WorkspaceProfiles/WorkspaceProfile/Querysets/item[id='" + this.qsid + "']/Queries"); 761 893 //expression is evaluated with respect to a certain context node which is doc. 762 894 Object result = null; … … 769 901 return result; 770 902 } 771 903 public Object getQueryset() throws XPathExpressionException{ 904 905 XPathFactory factory = XPathFactory.newInstance(); 906 XPath xpath = factory.newXPath(); 907 XPathExpression expr; 908 expr = xpath.compile("//Profiles/WorkspaceProfiles/WorkspaceProfile/Querysets/item[id='" + this.qsid + "']"); 909 //expression is evaluated with respect to a certain context node which is doc. 910 Object result = null; 911 try{ 912 result = expr.evaluate(workspace_doc, XPathConstants.NODESET); 913 } catch(Exception e){ 914 915 } 916 917 return result; 918 } 919 920 public Object getBookmarkParent() throws XPathExpressionException{ 921 922 XPathFactory factory = XPathFactory.newInstance(); 923 XPath xpath = factory.newXPath(); 924 XPathExpression expr; 925 expr = xpath.compile("//Profiles/WorkspaceProfiles/WorkspaceProfile/Bookmarksets/item[id='" + this.qsid + "']/Bookmarks"); 926 //expression is evaluated with respect to a certain context node which is doc. 927 Object result = null; 928 try{ 929 result = expr.evaluate(workspace_doc, XPathConstants.NODESET); 930 } catch(Exception e){ 931 932 } 933 934 return result; 935 } 936 937 public Object getBookmarkset() throws XPathExpressionException{ 938 939 XPathFactory factory = XPathFactory.newInstance(); 940 XPath xpath = factory.newXPath(); 941 XPathExpression expr; 942 expr = xpath.compile("//Profiles/WorkspaceProfiles/WorkspaceProfile/Bookmarksets/item[id='" + this.qsid + "']"); 943 //expression is evaluated with respect to a certain context node which is doc. 944 Object result = null; 945 try{ 946 result = expr.evaluate(workspace_doc, XPathConstants.NODESET); 947 } catch(Exception e){ 948 949 } 950 951 return result; 952 } 953 954 772 955 @Override 773 956 public void prepare() throws Exception {
Note: See TracChangeset
for help on using the changeset viewer.