You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by gg...@apache.org on 2012/06/09 22:24:49 UTC

svn commit: r1348497 - in /xalan/test/trunk/java: ./ src/org/apache/qetest/xslwrapper/XsltcMainWrapper.java

Author: ggregory
Date: Sat Jun  9 20:24:48 2012
New Revision: 1348497

URL: http://svn.apache.org/viewvc?rev=1348497&view=rev
Log:
Test XALANJ-2546 xsl:sort lang attribute ignores parameter value, only hard-coding works.
Allow XSTC test wrapper to use XSLT parameters.

Modified:
    xalan/test/trunk/java/   (props changed)
    xalan/test/trunk/java/src/org/apache/qetest/xslwrapper/XsltcMainWrapper.java

Propchange: xalan/test/trunk/java/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sat Jun  9 20:24:48 2012
@@ -0,0 +1 @@
+build

Modified: xalan/test/trunk/java/src/org/apache/qetest/xslwrapper/XsltcMainWrapper.java
URL: http://svn.apache.org/viewvc/xalan/test/trunk/java/src/org/apache/qetest/xslwrapper/XsltcMainWrapper.java?rev=1348497&r1=1348496&r2=1348497&view=diff
==============================================================================
--- xalan/test/trunk/java/src/org/apache/qetest/xslwrapper/XsltcMainWrapper.java (original)
+++ xalan/test/trunk/java/src/org/apache/qetest/xslwrapper/XsltcMainWrapper.java Sat Jun  9 20:24:48 2012
@@ -24,6 +24,8 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.PrintStream;
 import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Map;
 import java.util.Properties;
 
 import org.apache.xalan.xsltc.cmdline.Compile;
@@ -55,7 +57,6 @@ public class XsltcMainWrapper extends Tr
      */
     protected Hashtable newProcessorOpts = null;
 
-
     /**
      * Get a general description of this wrapper itself.
      *
@@ -206,13 +207,16 @@ I'm just trying to get it to work with l
         args2[3] = baseName;    // Just basename of the .class file, without the .class
                                 // Note that . must be on CLASSPATH to work!
 */
-        String[] args2 = new String[2];
+        
+        String[] tempParam = makeParamArray();
+        String[] args2 = new String[2 + tempParam.length];
         args2[0] = xmlName;
         int idx2 = xmlName.indexOf("file:////");
         if (idx2 != -1){
                args2[0] = new String(xmlName.substring(8));
         }
         args2[1] = baseName;
+        System.arraycopy(tempParam, 0, args2, 2, tempParam.length);
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         PrintStream newSystemOut = new PrintStream(baos);
         PrintStream saveSystemOut = System.out;
@@ -249,6 +253,19 @@ I'm just trying to get it to work with l
         return times;
     }
 
+    private String[] makeParamArray() {
+        if (m_params == null) {
+            return new String[0];
+        }
+        String[] params = new String[m_params.size()];
+        Iterator iter = m_params.entrySet().iterator();
+        int i = 0;
+        while (iter.hasNext()) {
+            Map.Entry entry = (Map.Entry) iter.next();
+            params[i++] = entry.getKey() + "=" + entry.getValue();
+        }
+        return params;
+    }
 
     /**
      * Pre-build/pre-compile a stylesheet.
@@ -373,8 +390,7 @@ I'm just trying to get it to work with l
             }
         }
     }
-
-
+    
     /**
      * Apply a single parameter to a Transformer.
      *



---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org