You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bsf-dev@jakarta.apache.org by ro...@apache.org on 2006/11/26 15:17:43 UTC

svn commit: r479366 - /jakarta/bsf/trunk/samples/xsl/TableFiller.jrexx

Author: rony
Date: Sun Nov 26 06:17:42 2006
New Revision: 479366

URL: http://svn.apache.org/viewvc?view=rev&rev=479366
Log:
20061126 14:15 Added a sample of 'TableFiller.java' in ooRexx. This may be interesting, as the Rexx engine gets invoked via an instance of BSFManager, which itself creates an own instance of BSFManager to carry out the xslt transformation!

Added:
    jakarta/bsf/trunk/samples/xsl/TableFiller.jrexx   (with props)

Added: jakarta/bsf/trunk/samples/xsl/TableFiller.jrexx
URL: http://svn.apache.org/viewvc/jakarta/bsf/trunk/samples/xsl/TableFiller.jrexx?view=auto&rev=479366
==============================================================================
--- jakarta/bsf/trunk/samples/xsl/TableFiller.jrexx (added)
+++ jakarta/bsf/trunk/samples/xsl/TableFiller.jrexx Sun Nov 26 06:17:42 2006
@@ -0,0 +1,64 @@
+/* author:     Rony G. Flatscher
+   name:       TableFiller.rex
+   date:       2006-11-26
+   purpose:    demonstrate how to use the xsl-BSF-engine from ooRexx, modelled after
+               "TableFiller.java"
+
+   needs:      Java 4.x *or*
+
+               Note on using Java 1.5, Java 1.6 or higher:
+
+               - if the sample does not work in these environments then, copy the Xalan-jars from
+                 "http://xml.apache.org/xalan-j/downloads.html" distribution into the "endorsed"
+                 directory of these Java versions (e.g. "JAVA_JRE_HOME /jre/lib/endorsed/"); make
+                 sure that the archive "xalan.jar" (from the xalan-tool jar) is available as well;
+                 tested with Xalan 2.7 and 2.8 on Java 1.5 and beta-version of Java 1.6
+
+   usage:      rexxj TableFiller.rex style1.xsl table-data.xml
+               rexxj TableFiller.rex style2.xsl table-data.xml
+*/
+
+parse arg xslFileName xmlFileName
+if xmlFileName="" then
+do
+   say "Usage: rexxj TableFiller.rex xslfilename xmlfilename"
+   exit -1
+end
+
+frame=.bsf~new("java.awt.Frame", "Table Filler (ooRexx)")
+frame~bsf.addEventListener('window', 'windowClosing', 'call bsf "exit"')
+
+panel=.bsf~new("java.awt.Panel", .bsf~new("java.awt.GridLayout", -1, 2))
+
+   -- import the Java Font class, store it in .local as "jfont"
+call bsf.import "java.awt.Font", "jfont"
+f=.jfont~new("SansSerif", .jfont~bold , 14)
+
+do text over .list~of("First", "Last")
+   l=.bsf~new("java.awt.Label", text) ~~setFont(f)
+   panel~add(l)
+end
+
+frame~add("Center", panel)
+
+mgr=.bsf~new("org.apache.bsf.BSFManager") -- create a new BSFManager instance
+mgr~declareBean("panel", panel, panel~getClass)
+mgr~registerBean("xslt:src", .bsf~new("java.io.FileReader", xmlFileName))
+
+-- xslString=bsf.import("org.apache.bsf.util.IOUtils")~getStringFromReader(.bsf~new("java.io.Filereader", xslFileName))
+xslString=charin(xslFileName, 1, chars(xslFileName))  -- read content of file
+mgr~exec("xslt", xslFileName, 0, 0, xslString)
+
+frame ~~pack ~~setVisible(.true)
+
+do forever
+   a = bsf("pollEventText")     /* wait for an eventText to be sent     */
+   interpret a                  /* execute as a Rexx program            */
+   say "(in Rexx), polled: ["a"]"
+   if result= "SHUTDOWN, REXX !" then leave     /* JVM will be shutdown */
+end
+say "Now exiting Rexx."
+
+
+
+::requires bsf.cls      -- load BSF (Java) support

Propchange: jakarta/bsf/trunk/samples/xsl/TableFiller.jrexx
------------------------------------------------------------------------------
    svn:executable = *

Propchange: jakarta/bsf/trunk/samples/xsl/TableFiller.jrexx
------------------------------------------------------------------------------
    svn:keywords = Author Date Rev Id URL



---------------------------------------------------------------------
To unsubscribe, e-mail: bsf-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: bsf-dev-help@jakarta.apache.org