Changeset 18473

Show
Ignore:
Timestamp:
09.02.2009 13:22:19 (11 years ago)
Author:
max
Message:

Change back the way all postProcessing works in order to get the GSF statements working again, until we find another solution.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • greenstone3/trunk/src/java/org/greenstone/gsdl3/core/TransformingReceptionist.java

    r18436 r18473  
    211211            return page; 
    212212        } 
    213          
     213        /* 
    214214        // put the page into a document - this is necessary for xslt to get 
    215215        // the paths right if you have paths relative to the document root 
     
    261261            logger.debug(this.converter.getPrettyString(style_doc.getDocumentElement())); 
    262262        } 
     263        */ 
    263264        //for debug purposes only 
    264265        Document oldStyle_doc = style_doc; 
     
    344345            System.out.println("Error while preprocessing the skin xslt") ; 
    345346            return XMLTransformer.constructErrorXHTMLPage(e.getMessage()) ; 
     347        } 
     348     
     349            // put the page into a document - this is necessary for xslt to get 
     350        // the paths right if you have paths relative to the document root 
     351        // eg /page. 
     352        Document doc = this.converter.newDOM(); 
     353        doc.appendChild(doc.importNode(page, true)); 
     354        Element page_response = (Element)GSXML.getChildByTagName(page, GSXML.PAGE_RESPONSE_ELEM); 
     355        Element format_elem = (Element)GSXML.getChildByTagName(page_response, GSXML.FORMAT_ELEM); 
     356        if (output.equals("formatelem")) { 
     357            return format_elem; 
     358        } 
     359        if (format_elem != null) { 
     360            //page_response.removeChild(format_elem); 
     361            logger.debug("format elem="+this.converter.getPrettyString(format_elem)); 
     362            // need to transform the format info 
     363            String configStylesheet_file = GSFile.stylesheetFile(GlobalProperties.getGSDL3Home(), (String)this.config_params.get(GSConstants.SITE_NAME), collection, (String)this.config_params.get(GSConstants.INTERFACE_NAME), base_interfaces,   "config_format.xsl"); 
     364            Document configStylesheet_doc = this.converter.getDOM(new File(configStylesheet_file)); 
     365            if (configStylesheet_doc != null) { 
     366                Document format_doc = this.converter.newDOM(); 
     367                format_doc.appendChild(format_doc.importNode(format_elem, true)); 
     368                Node result = this.transformer.transform(configStylesheet_doc, format_doc); 
     369                 
     370                // Since we started creating documents with DocTypes, we can end up with  
     371                // Document objects here. But we will be working with an Element instead,  
     372                // so we grab the DocumentElement() of the Document object in such a case. 
     373                Element new_format; 
     374                if(result.getNodeType() == Node.DOCUMENT_NODE) { 
     375                    new_format = ((Document)result).getDocumentElement(); 
     376                } else { 
     377                    new_format = (Element)result; 
     378                } 
     379                logger.debug("new format elem="+this.converter.getPrettyString(new_format)); 
     380                if (output.equals("newformat")) { 
     381                    return new_format; 
     382                } 
     383                 
     384                // add extracted GSF statements in to the main stylesheet 
     385                GSXSLT.mergeStylesheets(skinAndLibraryDoc, new_format); 
     386                //System.out.println("added extracted GSF statements into the main stylesheet") ; 
     387                 
     388                // add extracted GSF statements in to the debug test stylesheet 
     389                //GSXSLT.mergeStylesheets(oldStyle_doc, new_format); 
     390            } else { 
     391                logger.error(" couldn't parse the config_format stylesheet, adding the format info as is"); 
     392                GSXSLT.mergeStylesheets(skinAndLibraryDoc, format_elem); 
     393            //  GSXSLT.mergeStylesheets(oldStyle_doc, format_elem); 
     394            } 
     395            logger.debug("the converted stylesheet is:"); 
     396            logger.debug(this.converter.getPrettyString(skinAndLibraryDoc.getDocumentElement())); 
    346397        } 
    347398