Changeset 23551 for main/trunk/greenstone3
- Timestamp:
- 2011-01-11T17:08:56+13:00 (13 years ago)
- Location:
- main/trunk/greenstone3
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/FormatAction.java
r23489 r23551 85 85 86 86 String format_string = (String)params.get("data"); 87 //logger.error("Original format string"); 88 //logger.error(format_string); 87 89 88 90 Element page_response = this.doc.createElement(GSXML.RESPONSE_ELEM); … … 115 117 116 118 // not sure what to do here - some code from Transforming Receptionist 117 //String transformed = transformer.transformToString(style_doc, d);119 String transformed = transformer.transformToString(style_doc, d); 118 120 logger.error("About to transform"); 119 Node transformed = (Node) transformer.transform(style_doc, d); // Failing org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted. ; SystemID: file:///home/sam/greenstone3/packages/tomcat/bin/dummy.xsl121 //Node transformed = (Node) transformer.transform(style_doc, d); // Failing org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted. ; SystemID: file:///home/sam/greenstone3/packages/tomcat/bin/dummy.xsl 120 122 121 123 logger.error("Transform successful?"); … … 124 126 logger.error("TRANSFORMED IS NULL"); 125 127 126 logger.error("begin import");127 Node imported = this.doc.importNode(transformed, true); // There was an exception org.w3c.dom.DOMException: NOT_SUPPORTED_ERR: The implementation does not support the requested type of object or operation.128 logger.error("finished import");128 //logger.error("begin import"); 129 //Node imported = this.doc.importNode(transformed, true); // There was an exception org.w3c.dom.DOMException: NOT_SUPPORTED_ERR: The implementation does not support the requested type of object or operation. 130 //logger.error("finished import"); 129 131 130 String format_string2 = GSXML.xmlNodeToString(imported); // null pointer exception occuring here131 logger.error("format string="+format_string2);132 //String format_string2 = GSXML.xmlNodeToString(imported); // null pointer exception occuring here 133 //logger.error("format string="+format_string2); 132 134 133 135 Element format = this.doc.createElement(GSXML.FORMAT_STRING_ELEM); 134 //GSXML.setNodeText(format, transformed);135 format.appendChild(transformed);136 GSXML.setNodeText(format, transformed); 137 //format.appendChild(transformed); 136 138 //format.setNodeValue(transformed); 137 139 mr_request.appendChild(format); -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/collection/Collection.java
r23505 r23551 33 33 import java.io.File; 34 34 import java.util.HashMap; 35 36 import javax.xml.parsers.DocumentBuilder; 37 import javax.xml.parsers.DocumentBuilderFactory; 38 39 import org.xml.sax.*; 40 import javax.xml.parsers.SAXParserFactory; 41 import javax.xml.parsers.ParserConfigurationException; 42 import javax.xml.parsers.SAXParser; 35 43 36 44 import org.apache.log4j.*; … … 330 338 331 339 Element format_element = (Element) GSXML.getChildByTagName(request, GSXML.FORMAT_STRING_ELEM); 332 //String format_string = GSXML.getNodeText(format_element);333 Element format_statement = (Element) format_element.getFirstChild();340 String format_string = GSXML.getNodeText(format_element); 341 //Element format_statement = (Element) format_element.getFirstChild(); 334 342 335 343 //logger.error("Format string: " + format_string); … … 386 394 387 395 // Write format statement 388 String format_string = GSXML.xmlNodeToString(format_statement);396 //String format_string = GSXML.xmlNodeToString(format_statement); 389 397 writer = new BufferedWriter(new FileWriter(format_statement_filename)); 390 398 writer.write(format_string); … … 405 413 logger.error("SAVE format statement"); 406 414 407 // open collectionConfig.xml and read in to w3 Document 408 String collection_config = directory + "collectionConfig.xml"; 409 Document config = this.converter.getDOM(new File(collection_config), "UTF-8"); 415 try{ 416 417 // Convert format string to a document 418 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 419 DocumentBuilder builder = factory.newDocumentBuilder(); 420 //String input = "<html><head><title></title></head><body>" + format_string + "</body></html>"; 421 String input = format_string.substring(0,format_string.length()-1)+"</xml>"; 422 logger.error(input); 423 InputSource is = new InputSource( new StringReader( input ) ); 424 logger.error("About to parse format string"); 425 Document format_statement = (Document) builder.parse( is ); 426 logger.error("Done parsing format string"); 427 428 // open collectionConfig.xml and read in to w3 Document 429 String collection_config = directory + "collectionConfig.xml"; 430 Document config = this.converter.getDOM(new File(collection_config), "UTF-8"); 410 431 411 //String tag_name = ""; 412 int k; 413 int index; 414 Element elem; 415 Node current_node = GSXML.getChildByTagName(config, "CollectionConfig"); 416 NodeList current_node_list; 417 418 if(service.equals("ClassifierBrowse")) 419 { 420 //tag_name = "browse"; 421 // if CLX then need to look in <classifier> X then <format> 422 // default is <browse><format> 423 424 current_node = GSXML.getChildByTagName(current_node, "browse"); 425 426 // find CLX 427 if(classifier != null) 432 //String tag_name = ""; 433 int k; 434 int index; 435 Element elem; 436 Node current_node = GSXML.getChildByTagName(config, "CollectionConfig"); 437 NodeList current_node_list; 438 439 if(service.equals("ClassifierBrowse")) 428 440 { 429 current_node_list = GSXML.getChildrenByTagName(current_node, "classifier"); 430 index = Integer.parseInt(classifier.substring(2)) - 1; 431 // index should be given by X-1 432 current_node = current_node_list.item(index); 433 current_node = GSXML.getChildByTagName(current_node, "format"); 441 //tag_name = "browse"; 442 // if CLX then need to look in <classifier> X then <format> 443 // default is <browse><format> 444 445 current_node = GSXML.getChildByTagName(current_node, "browse"); 446 447 // find CLX 448 if(classifier != null) 449 { 450 current_node_list = GSXML.getChildrenByTagName(current_node, "classifier"); 451 index = Integer.parseInt(classifier.substring(2)) - 1; 452 // index should be given by X-1 453 current_node = current_node_list.item(index); 454 current_node = GSXML.getChildByTagName(current_node, "format"); 455 } 456 else{ 457 current_node = GSXML.getChildByTagName(current_node, "format"); 458 } 434 459 } 435 else{ 436 current_node = GSXML.getChildByTagName(current_node, "format"); 460 else 461 { 462 // look in <format> with no attributes 463 464 current_node_list = GSXML.getChildrenByTagName(current_node, "search"); 465 for(k=0; k<current_node_list.getLength(); k++) 466 { 467 current_node = current_node_list.item(k); 468 // if current_node has no attributes then break 469 elem = (Element) current_node; 470 if(elem.hasAttribute("name")==false) 471 break; 472 } 437 473 } 438 } 439 else 440 { 441 // look in <format> with no attributes 442 443 current_node_list = GSXML.getChildrenByTagName(current_node, "search"); 444 for(k=0; k<current_node_list.getLength(); k++) 474 475 // Current_node should be a format tag 476 elem = (Element) current_node; 477 478 logger.error("Current_node = " + elem.getNodeName()); 479 480 // seems we want to remove current child/ren and replace with format_statement's child/ren? 481 482 // remove existing 483 current_node_list = elem.getChildNodes(); 484 for(k=0; k<current_node_list.getLength(); k++) 445 485 { 446 current_node = current_node_list.item(k); 447 // if current_node has no attributes then break 448 elem = (Element) current_node; 449 if(elem.hasAttribute("name")==false) 450 break; 486 current_node = elem.removeChild(current_node_list.item(k)); 451 487 } 452 } 453 454 // Current_node should be a format tag 455 elem = (Element) current_node; 456 457 logger.error("Current_node = " + elem.getNodeName()); 458 459 // seems we want to remove current child/ren and replace with format_statement's child/ren? 460 461 // remove existing 462 current_node_list = elem.getChildNodes(); 463 for(k=0; k<current_node_list.getLength(); k++) 464 { 465 current_node = elem.removeChild(current_node_list.item(k)); 466 } 467 468 // append new 469 current_node_list = format_statement.getChildNodes(); 470 for(k=0; k<current_node_list.getLength(); k++) 471 { 472 current_node = elem.appendChild(current_node_list.item(k)); 473 } 474 475 //String text = GSXML.getNodeText(elem); 476 //logger.error(text); 477 //text = text.replaceAll("_httpsite_", http_site); 478 //text = text.replaceAll("_httpcollection_", http_collection); 479 //GSXML.setNodeText(d, text); 480 481 // Now convert config document to string for writing to file 482 String new_config = GSXML.xmlNodeToString(config); 483 484 // Write to file (not original! for now) 485 try{ 488 489 // append new but we have a string! 490 GSXML.setNodeText(elem, format_string); 491 492 //current_node_list = format_statement.getChildNodes(); 493 //for(k=0; k<current_node_list.getLength(); k++) 494 //{ 495 // current_node = elem.appendChild(current_node_list.item(k)); 496 //} 497 498 //String text = GSXML.getNodeText(elem); 499 //logger.error(text); 500 //text = text.replaceAll("_httpsite_", http_site); 501 //text = text.replaceAll("_httpcollection_", http_collection); 502 //GSXML.setNodeText(d, text); 503 504 // Now convert config document to string for writing to file 505 String new_config = GSXML.xmlNodeToString(config); 506 507 // Write to file (not original! for now) 486 508 BufferedWriter writer = new BufferedWriter(new FileWriter(collection_config+".new")); 487 509 writer.write(new_config); 488 510 writer.close(); 489 } catch (IOException e) { 490 logger.error("IO Exception "+e); 511 512 } catch( Exception ex ) { 513 logger.error("There was an exception "+ex); 514 515 StringWriter sw = new StringWriter(); 516 PrintWriter pw = new PrintWriter(sw, true); 517 ex.printStackTrace(pw); 518 pw.flush(); 519 sw.flush(); 520 logger.error(sw.toString()); 491 521 } 522 492 523 } 493 524 } -
main/trunk/greenstone3/web/interfaces/oran/js/gui_div.js
r23489 r23551 3 3 4 4 var initialised_iframe = "false"; 5 6 function onTextChange(item, text) 7 { 8 item.setAttribute("value",text); 9 } 10 5 11 6 12 //function createFormatStatement() -
main/trunk/greenstone3/web/interfaces/oran/transform/layouts/xml-to-gui.xsl
r23360 r23551 236 236 <xsl:variable name="mode"> 237 237 <xsl:choose> 238 <xsl:when test="not(@mode)">MODE=<input class="mode" type="text" name="rawtextinput" size="10" value="vertical" ><xsl:text></xsl:text></input></xsl:when>239 <xsl:otherwise>MODE=<input class="mode" type="text" name="rawtextinput" size="10" value="{@mode}" /></xsl:otherwise>238 <xsl:when test="not(@mode)">MODE=<input class="mode" type="text" name="rawtextinput" size="10" value="vertical" onChange="onTextChange(this, this.value)"><xsl:text></xsl:text></input></xsl:when> 239 <xsl:otherwise>MODE=<input class="mode" type="text" name="rawtextinput" size="10" value="{@mode}" onChange="onTextChange(this, this.value)"/></xsl:otherwise> 240 240 </xsl:choose> 241 241 </xsl:variable> 242 242 243 <table class="header"><tbody><tr><td class="header">MATCH=<input class="match" type="text" name="rawtextinput" size="10" value="{@match}" /></td><td class="header"><xsl:copy-of select="$mode"/></td><td class="header"><a href="#" class="minmax ui-icon ui-icon-plusthick" title="Click me to expand">[+]</a></td><td class="header"><a href="#" class="remove ui-icon ui-icon-closethick" title="Click me to remove"/></td></tr></tbody></table>243 <table class="header"><tbody><tr><td class="header">MATCH=<input class="match" type="text" name="rawtextinput" size="10" value="{@match}" onChange="onTextChange(this, this.value)"/></td><td class="header"><xsl:copy-of select="$mode"/></td><td class="header"><a href="#" class="minmax ui-icon ui-icon-plusthick" title="Click me to expand">[+]</a></td><td class="header"><a href="#" class="remove ui-icon ui-icon-closethick" title="Click me to remove"/></td></tr></tbody></table> 244 244 245 245 <table class="table" border="1"> … … 356 356 <div class="block leaf gsf_text" title="gsf:text"> 357 357 <xsl:variable name="rawtext"><xsl:value-of select="."/></xsl:variable> 358 <table class="header"><tbody><tr><td class="header"><input class="text" type="text" name="rawtextinput" size="10" value="{$rawtext}" ></input></td><td class="header"><a href="[myhref]" class="ui-icon ui-icon-closethick"/></td></tr></tbody></table>358 <table class="header"><tbody><tr><td class="header"><input class="text" type="text" name="rawtextinput" size="10" value="{$rawtext}" onChange="onTextChange(this, this.value)"></input></td><td class="header"><a href="[myhref]" class="ui-icon ui-icon-closethick"/></td></tr></tbody></table> 359 359 </div> 360 360 </xsl:template>
Note:
See TracChangeset
for help on using the changeset viewer.