Changeset 2471
- Timestamp:
- 01/15/13 13:54:37 (11 years ago)
- Location:
- vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/ShowResultPage.html
r2465 r2471 1 1 <!doctype html public "-//W3C//DTD HTML 3.2 Final//EN"> 2 2 <html> 3 <head></head> 3 <wicket:head> 4 <script language="JavaScript"> 5 function toogleDiv(strID, linkElement){ 6 document.getElementById(linkElement).innerHTML = (document.getElementById(strID).style.display == 'none' ) ? '<b>Remove complete CMDI metadata</b>' : '<b>Show complete CMDI metadata</b>'; 7 document.getElementById(strID).style.display = (document.getElementById(strID).style.display == 'none' ) ? 'block' : 'none'; 8 document.getElementById(strID + "_shown").style.display = (document.getElementById(strID + "_shown").style.display == 'none' ) ? 'block' : 'none'; 9 document.getElementById(strID + "_hidden").style.display = (document.getElementById(strID + "_hidden").style.display == 'none' ) ? 'block' : 'none'; 10 } 11 </script> 12 <script src="javascript/searchhi.js" type="text/javascript" language="JavaScript"></script> 13 </wicket:head> 14 4 15 <body> 5 16 <wicket:extend> … … 29 40 </div> 30 41 42 <div id="completeCmdiView"> 43 <span> 44 <a href="javascript:/" id="toogleLink" onClick="toogleDiv('completeCmdi', 'toogleLink');"></a> 45 </span> 46 <span id="completeCmdi" wicket:id="completeCmdi"></span> 47 </div> 48 <br> 49 <br> 31 50 </div> 32 51 </wicket:extend> -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/ShowResultPage.java
r2465 r2471 1 1 package eu.clarin.cmdi.vlo.pages; 2 2 3 import java.io.InputStreamReader; 4 import java.io.StringWriter; 3 5 import java.io.UnsupportedEncodingException; 4 6 import java.net.MalformedURLException; … … 8 10 import java.util.regex.Pattern; 9 11 12 import javax.xml.transform.stream.StreamSource; 13 10 14 import net.sf.json.JSONObject; 15 import net.sf.saxon.s9api.Processor; 16 import net.sf.saxon.s9api.Serializer; 17 import net.sf.saxon.s9api.XdmNode; 18 import net.sf.saxon.s9api.XsltCompiler; 19 import net.sf.saxon.s9api.XsltExecutable; 20 import net.sf.saxon.s9api.XsltTransformer; 11 21 12 22 import org.apache.solr.common.SolrDocument; … … 14 24 import org.apache.wicket.PageParameters; 15 25 import org.apache.wicket.RequestCycle; 26 import org.apache.wicket.behavior.AbstractBehavior; 16 27 import org.apache.wicket.behavior.SimpleAttributeModifier; 17 28 import org.apache.wicket.extensions.ajax.markup.html.AjaxLazyLoadPanel; … … 25 36 import org.apache.wicket.markup.ComponentTag; 26 37 import org.apache.wicket.markup.MarkupStream; 38 import org.apache.wicket.markup.html.IHeaderResponse; 27 39 import org.apache.wicket.markup.html.WebMarkupContainer; 28 40 import org.apache.wicket.markup.html.basic.Label; … … 54 66 55 67 private final static ImageResource FEEDBACK_IMAGE = new ImageResource(new ContextRelativeResource("Images/feedback.png"), "Report an Error"); 68 private final URL xslFile = getClass().getResource("/cmdi2xhtml.xsl"); 56 69 57 70 @SuppressWarnings("serial") … … 73 86 addResourceLinks(solrDocument); 74 87 addSearchServiceForm(solrDocument); 88 addCompleteCmdiView(solrDocument); 75 89 76 90 add(new AjaxLazyLoadPanel("prevNextHeader") { … … 267 281 } 268 282 } 283 284 /** 285 * Add complete CMDI view 286 * @param solrDocument 287 */ 288 private void addCompleteCmdiView(final SolrDocument solrDocument) { 289 StringWriter strWriter = new StringWriter(); 290 291 final Processor proc = new Processor(false); 292 final XsltCompiler comp = proc.newXsltCompiler(); 293 294 try { 295 final XsltExecutable exp = comp.compile(new StreamSource(xslFile.getFile())); 296 final XdmNode source = proc.newDocumentBuilder().build( 297 new StreamSource(new InputStreamReader(new URL(solrDocument.getFirstValue(FacetConstants.FIELD_COMPLETE_METADATA).toString()).openStream()))); 298 final Serializer out = new Serializer(); 299 out.setOutputProperty(Serializer.Property.METHOD, "html"); 300 out.setOutputProperty(Serializer.Property.INDENT, "yes"); 301 out.setOutputWriter(strWriter); 302 final XsltTransformer trans = exp.load(); 303 304 trans.setInitialContextNode(source); 305 trans.setDestination(out); 306 trans.transform(); 307 } catch (Exception e) { 308 LOG.error(e.getMessage()+" "+e.getCause()); 309 strWriter = new StringWriter().append("<b>Could not load complete CMDI metadata</b>"); 310 } 311 312 Label completeCmdiLabel = new Label("completeCmdi", strWriter.toString()); 313 completeCmdiLabel.setEscapeModelStrings(false); 314 add(completeCmdiLabel); 315 316 // remove complete CMDI view on page load 317 add(new AbstractBehavior() { 318 private static final long serialVersionUID = 1865219352602175954L; 319 320 @Override 321 public void renderHead(IHeaderResponse response) { 322 super.renderHead(response); 323 response.renderOnLoadJavascript("toogleDiv('completeCmdi', 'toogleLink')"); 324 } 325 }); 326 } 269 327 }
Note: See TracChangeset
for help on using the changeset viewer.