Index: site-manage-tool/tool/pom.xml =================================================================== --- site-manage-tool/tool/pom.xml (revision 107428) +++ site-manage-tool/tool/pom.xml (working copy) @@ -78,16 +78,6 @@ sakai-velocity-tool - avalon-framework - avalon-framework - 20020627 - - - batik - batik - 1.5-fop-0.20-5 - - commons-beanutils commons-beanutils 1.7.0 @@ -96,12 +86,12 @@ commons-logging commons-logging + + org.apache.xmlgraphics + fop + 1.0 + - fop - fop - 0.20.5 - - javax.servlet servlet-api Index: site-manage-tool/tool/src/bundle/printParticipant.properties =================================================================== --- site-manage-tool/tool/src/bundle/printParticipant.properties (revision 107428) +++ site-manage-tool/tool/src/bundle/printParticipant.properties (working copy) @@ -1,4 +1,10 @@ ## print site participant in PDF file participant_pdf_title=Participant List for site {0} sitegen.siteinfolist.active=Active -sitegen.siteinfolist.inactive=Inactive \ No newline at end of file +sitegen.siteinfolist.inactive=Inactive +sitegen.siteinfolist.title.name=NAME +sitegen.siteinfolist.title.section=SECTION +sitegen.siteinfolist.title.id=ID +sitegen.siteinfolist.title.credit=CR +sitegen.siteinfolist.title.role=ROLE +sitegen.siteinfolist.title.status=STATUS \ No newline at end of file Index: site-manage-tool/tool/src/bundle/printParticipant_zh_CN.properties =================================================================== --- site-manage-tool/tool/src/bundle/printParticipant_zh_CN.properties (revision 0) +++ site-manage-tool/tool/src/bundle/printParticipant_zh_CN.properties (revision 0) @@ -0,0 +1,10 @@ +## print site participant in PDF file +participant_pdf_title={0} \u6210\u5458\u5217\u8868 +sitegen.siteinfolist.active=\u6fc0\u6d3b +sitegen.siteinfolist.inactive=\u672a\u6fc0\u6d3b +sitegen.siteinfolist.title.name=\u59d3\u540d +sitegen.siteinfolist.title.section=\u5c0f\u7ec4 +sitegen.siteinfolist.title.id=ID +sitegen.siteinfolist.title.credit=\u5b66\u5206 +sitegen.siteinfolist.title.role=\u89d2\u8272 +sitegen.siteinfolist.title.status=\u72b6\u6001 \ No newline at end of file Index: site-manage-tool/tool/src/config/participants-all-attrs.xsl =================================================================== --- site-manage-tool/tool/src/config/participants-all-attrs.xsl (revision 107428) +++ site-manage-tool/tool/src/config/participants-all-attrs.xsl (working copy) @@ -9,8 +9,15 @@ + + + + + + + - + @@ -24,7 +31,7 @@ - + - @@ -108,7 +115,7 @@ - + @@ -117,32 +124,32 @@ - + - + - + - + - + - + Index: site-manage-tool/tool/src/config/userconfig.xml =================================================================== --- site-manage-tool/tool/src/config/userconfig.xml (revision 0) +++ site-manage-tool/tool/src/config/userconfig.xml (revision 0) @@ -0,0 +1,10 @@ + + + + + + + + + + Index: site-manage-tool/tool/src/java/org/sakaiproject/site/tool/SiteInfoToolServlet.java =================================================================== --- site-manage-tool/tool/src/java/org/sakaiproject/site/tool/SiteInfoToolServlet.java (revision 107428) +++ site-manage-tool/tool/src/java/org/sakaiproject/site/tool/SiteInfoToolServlet.java (working copy) @@ -40,21 +40,26 @@ import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Source; import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.sax.SAXResult; import javax.xml.transform.stream.StreamSource; -import org.apache.avalon.framework.logger.ConsoleLogger; +import org.apache.avalon.framework.configuration.Configuration; +import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.fop.apps.Driver; -import org.apache.fop.messaging.MessageHandler; - +import org.apache.fop.apps.FOUserAgent; +import org.apache.fop.apps.Fop; +import org.apache.fop.apps.FopFactory; +import org.apache.fop.fonts.substitute.FontQualifier; +import org.apache.fop.fonts.substitute.FontSubstitution; +import org.apache.fop.fonts.substitute.FontSubstitutions; +import org.apache.fop.apps.MimeConstants; import org.sakaiproject.authz.cover.AuthzGroupService; import org.sakaiproject.authz.cover.SecurityService; +import org.sakaiproject.component.cover.ServerConfigurationService; import org.sakaiproject.site.api.Site; import org.sakaiproject.site.cover.SiteService; import org.sakaiproject.site.util.Participant; @@ -375,7 +380,7 @@ */ protected void generatePDF(Document doc, OutputStream streamOut) { - String xslFileName = "participants-all-attrs.xsl"; + String xslFileName = "participants-all-attrs.xsl"; Locale currentLocale = rb.getLocale(); if (currentLocale!=null){ String fullLocale = currentLocale.toString(); @@ -388,34 +393,30 @@ } } } - - Driver driver = new Driver(); - - org.apache.avalon.framework.logger.Logger logger = new ConsoleLogger(ConsoleLogger.LEVEL_ERROR); - MessageHandler.setScreenLogger(logger); - driver.setLogger(logger); - - driver.setOutputStream(streamOut); - driver.setRenderer(Driver.RENDER_PDF); - - try - { + String configFileName = "userconfig.xml"; + DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder(); + try + { + Configuration cfg = cfgBuilder.build(getClass().getClassLoader().getResourceAsStream(configFileName)); + + FopFactory fopFactory = FopFactory.newInstance(); + fopFactory.setUserConfig(cfg); + fopFactory.setStrictValidation(false); + FOUserAgent foUserAgent = fopFactory.newFOUserAgent(); + fopFactory.getFontManager().setFontSubstitutions(rb.getFontSubstitutions()); + Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, streamOut); InputStream in = getClass().getClassLoader().getResourceAsStream(xslFileName); - if(in==null) - in = getClass().getClassLoader().getResourceAsStream("participants-all-attrs.xsl"); - Transformer transformer = transformerFactory.newTransformer(new StreamSource(in)); + transformer.setParameter("titleName", rb.getString("sitegen.siteinfolist.title.name")); + transformer.setParameter("titleSection", rb.getString("sitegen.siteinfolist.title.section")); + transformer.setParameter("titleId", rb.getString("sitegen.siteinfolist.title.id")); + transformer.setParameter("titleCredit", rb.getString("sitegen.siteinfolist.title.credit")); + transformer.setParameter("titleRole", rb.getString("sitegen.siteinfolist.title.role")); + transformer.setParameter("titleStatus", rb.getString("sitegen.siteinfolist.title.status")); Source src = new DOMSource(doc); - - // Kludge: Xalan in JDK 1.4/1.5 does not properly resolve java classes - // (http://xml.apache.org/xalan-j/faq.html#jdk14) - // Clean this up in JDK 1.6 and pass ResourceBundle/ArrayList parms - //transformer.setParameter("dayNames0", dayNames[0]); - transformer.transform(src, new SAXResult(driver.getContentHandler())); - } - - catch (TransformerException e) + transformer.transform(src, new SAXResult(fop.getDefaultHandler())); + } catch (Exception e) { e.printStackTrace(); log.warn(this+".generatePDF(): " + e);