Changeset 1384 for MDService2/trunk/MDService2/src/eu/clarin/cmdi/mdservice
- Timestamp:
- 05/28/11 11:46:34 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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.