Author: adrianc
Date: Thu Apr 26 10:38:25 2012 New Revision: 1330764 URL: http://svn.apache.org/viewvc?rev=1330764&view=rev Log: Added a Mini-language XML style sheet. Added: ofbiz/trunk/framework/minilang/config/MiniLang.xslt (with props) Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/MiniLangUtil.java ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java Added: ofbiz/trunk/framework/minilang/config/MiniLang.xslt URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/config/MiniLang.xslt?rev=1330764&view=auto ============================================================================== --- ofbiz/trunk/framework/minilang/config/MiniLang.xslt (added) +++ ofbiz/trunk/framework/minilang/config/MiniLang.xslt Thu Apr 26 10:38:25 2012 @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xslt" version="1.0"> + <xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="no" indent="yes" xalan:indent-amount="4" /> + <xsl:strip-space elements="*" /> + <xsl:template match="@*|node()"> + <xsl:copy> + <xsl:apply-templates select="@*|node()" /> + </xsl:copy> + </xsl:template> + <xsl:template match="/comment()|/simple-methods"> + <xsl:text>
</xsl:text> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> + <xsl:template match="/simple-methods/simple-method"> + <xsl:text>

 </xsl:text> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> +</xsl:stylesheet> Propchange: ofbiz/trunk/framework/minilang/config/MiniLang.xslt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/framework/minilang/config/MiniLang.xslt ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/trunk/framework/minilang/config/MiniLang.xslt ------------------------------------------------------------------------------ svn:mime-type = text/xml Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/MiniLangUtil.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/MiniLangUtil.java?rev=1330764&r1=1330763&r2=1330764&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/MiniLangUtil.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/MiniLangUtil.java Thu Apr 26 10:38:25 2012 @@ -18,12 +18,23 @@ *******************************************************************************/ package org.ofbiz.minilang; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; import java.util.Collections; import java.util.HashSet; import java.util.Set; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.stream.StreamSource; + +import org.ofbiz.base.location.FlexibleLocation; +import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.ScriptUtil; import org.ofbiz.base.util.UtilProperties; +import org.ofbiz.base.util.UtilXml; import org.ofbiz.base.util.string.FlexibleStringExpander; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -92,8 +103,7 @@ public final class MiniLangUtil { } public static boolean isDocumentAutoCorrected(Document document) { - String autoCorrected = (String) document.getUserData("autoCorrected"); - return "true".equals(autoCorrected); + return "true".equals(document.getUserData("autoCorrected")); } public static void removeInvalidAttributes(Element element, String... validAttributeNames) { @@ -115,5 +125,44 @@ public final class MiniLangUtil { } } + public static void writeMiniLangDocument(URL xmlURL, Document document) { + URL styleSheetURL = null; + InputStream styleSheetInStream = null; + Transformer transformer = null; + try { + styleSheetURL = FlexibleLocation.resolveLocation("component://minilang/config/MiniLang.xslt"); + styleSheetInStream = styleSheetURL.openStream(); + TransformerFactory transformerFactory = TransformerFactory.newInstance(); + transformer = transformerFactory.newTransformer(new StreamSource(styleSheetInStream)); + } catch (Exception e) { + Debug.logWarning(e, "Error reading minilang/config/MiniLang.xslt: ", module); + return; + } finally { + if (styleSheetInStream != null) { + try { + styleSheetInStream.close(); + } catch (IOException e) { + Debug.logWarning(e, "Error closing minilang/config/MiniLang.xslt: ", module); + } + } + } + FileOutputStream fos = null; + try { + fos = new FileOutputStream(xmlURL.getFile()); + UtilXml.transformDomDocument(transformer, document, fos); + Debug.logInfo("Saved Mini-language file " + xmlURL, module); + } catch (Exception e) { + Debug.logWarning(e, "Error writing mini-language file " + xmlURL + ": ", module); + } finally { + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + Debug.logWarning(e, "Error closing " + xmlURL + ": ", module); + } + } + } + } + private MiniLangUtil() {} } Modified: ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java?rev=1330764&r1=1330763&r2=1330764&view=diff ============================================================================== --- ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java (original) +++ ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/SimpleMethod.java Thu Apr 26 10:38:25 2012 @@ -307,12 +307,7 @@ public class SimpleMethod { simpleMethods.put(simpleMethod.getMethodName(), simpleMethod); } if (MiniLangUtil.isDocumentAutoCorrected(document)) { - try { - UtilXml.writeXmlDocument(xmlURL.getFile(), document); - Debug.logInfo("Saved auto-corrected Mini-language file " + xmlURL, module); - } catch (Exception e) { - Debug.logWarning(e, "Error writing auto-corrected mini-language file " + xmlURL + ": ", module); - } + MiniLangUtil.writeMiniLangDocument(xmlURL, document); } return simpleMethods; } |
Free forum by Nabble | Edit this page |