Raible's Wiki

Raible Designs
Wiki Home
News
Recent Changes

AppFuse

Homepage
  - Korean
  - Chinese
  - Italian
  - Japanese

QuickStart Guide
  - Chinese
  - French
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish
  - Japanese

User Guide
  - Korean
  - Chinese

Tutorials
  - Chinese
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish

FAQ
  - Korean

Latest Downloads

Other Applications

Struts Resume
Security Example
Struts Menu

Set your name in
UserPreferences


Referenced by
Articles
Articles_cn
Articles_de
Articles_pt
Articles_zh




JSPWiki v2.2.33

[RSS]


Hide Menu

POJOToPDF


Difference between version 21 and version 13:

At line 15 changed 2 lines.
* [4] Modify User Service Junit test
* [5] Run User Service Junit test
* [4] Modify UserManagerTest Junit test
* [5] Run UserManagerTest Junit test
At line 69 added 2 lines.
At line 105 changed 1 line.
import org.appfuse.util.AbstractObjectReader;
import org.appfuse.fop.AbstractObjectReader;
At line 147 added 2 lines.
At line 174 changed 1 line.
processUserDetails(user);
processUserDetails(user);
At line 197 added 1 line.
At line 212 changed 1 line.
Place the user2fo.xsl stylesheet in src/web/**/fop/user2fo.xsl.
Place the user2fo.xsl stylesheet in src/service/**/fop/xsl/user2fo.xsl.
At line 328 changed 1 line.
!!Modify User Junit test [#4]
!!Modify UserManagerTest.java Junit test [#4]
At line 330 changed 1 line.
To support the execution of the User service level test, we need another helper file. This file (attached at the end) is called FOPHelper.java and lives in src/service/**/utils.
To support the execution of the User service level test, we need another helper file. This file (attached at the end) is called FOPHelper.java and lives in src/service/**/fop.
At line 361 changed 1 line.
import org.appfuse.utils.FOPHelper;
import org.appfuse.fop.FOPHelper;
At line 365 changed 32 lines.
try {
User testData = new User();
testData.setUsername("tomcat");
testData.getRoles().add(new Role("user"));
// set expected behavior on dao
userDAO.expects(once()).method("getUser")
.with(eq("tomcat")).will(returnValue(testData));
user = userManager.getUser("tomcat");
File baseDir = new File(".");
File xslFile = new File(baseDir, "./src/web/org/appfuse/webapp/fop/user2fo.xsl");
if (xslFile.exists()) {
log.info("xslFile exists");
}
File pdfFile = new File(baseDir, "user.pdf");
File xmlFile = new File(baseDir, "user.xml");
log.debug("Input: a User object");
log.debug("Stylesheet: " + xslFile);
log.debug("Output: PDF (" + pdfFile + ")");
log.debug("Transforming...");
FOPHelper fopHelper = new FOPHelper();
fopHelper.convertUser2PDF(user, xslFile, pdfFile);
fopHelper.convertUser2XML(user, xmlFile);
}
catch (Throwable e) {
log.error("Error [" + e.getMessage() + "]", e);
}
log.info("Inside testGeneratePSF");
User testData = new User();
testData.setUsername("tomcat");
testData.getRoles().add(new Role("user"));
// set expected behavior on dao
userDAO.expects(once()).method("getUser")
.with(eq("tomcat")).will(returnValue(testData));
user = userManager.getUser("tomcat");
UserInputSource uis = new UserInputSource(user);
// Setup directories
File baseDir = new File(".");
File outDir = new File(".");
outDir.mkdirs();
//Setup input and output
File xslFile = new File(baseDir, "./src/service/org/appfuse/fop/xsl/user2fo.xsl");
File pdfFile = new File(outDir, "user.pdf");
File xmlFile = new File(outDir, "user.xml");
File foFile = new File(outDir, "user.fo");
log.debug("Input: a UserInputSource object");
log.debug("Stylesheet: " + xslFile);
log.debug("Output: PDF (" + pdfFile + ")");
log.debug("Output: FO (" + foFile + ")");
log.debug("Transforming...");
FOPHelper fopHelper = new FOPHelper();
fopHelper.convertPOJO2PDF(uis, xslFile, pdfFile, foFile);
fopHelper.convertPOJO2XML(uis, xmlFile);
At line 409 changed 2 lines.
[junit] [appfuse] DEBUG [main] UserManagerTest.testGeneratePDF(88) | Input: a User object
[junit] [appfuse] DEBUG [main] UserManagerTest.testGeneratePDF(89) | Stylesheet: ././src/web/org/appfuse/webapp/fop/user2fo.xsl
[junit] [appfuse] DEBUG [main] UserManagerTest.testGeneratePDF(88) | Input: a UserInputSource object
[junit] [appfuse] DEBUG [main] UserManagerTest.testGeneratePDF(89) | Stylesheet: ././src/service/org/appfuse/fop/xsl/user2fo.xsl
At line 543 changed 1 line.
new ClassPathResource("/org/appfuse/webapp/fop/user2fo.xsl");
new ClassPathResource("/org/appfuse/fop/xsl/user2fo.xsl");
At line 562 changed 1 line.
]
}]
At line 601 removed 3 lines.
#
At line 651 changed 1 line.
Also inside the package-web target add this line:
Also inside the package-web target add this block:
At line 654 changed 1 line.
<include name="**/*.xsl"/>
<fileset dir="src/service">
<include name="**/*.xsl"/>
</fileset>
At line 663 removed 1 line.
<include name="**/*.xsl"/>
At line 670 added 3 lines.
<fileset dir="src/service">
<include name="**/*.xsl"/>
</fileset>
At line 667 removed 1 line.
which ensures the xsl file is deployed.
At line 676 added 2 lines.
which ensures the xsl file is deployed into our runtime classpath.
At line 673 changed 1 line.
*src/web/org/appfuse/webapp/fop/user2fo.xsl
At line 685 added 1 line.
*src/service/org/appfuse/fop/xsl/user2fo.xsl
At line 688 changed 2 lines.
*Ensure the xsl file is within your webapps/appfuse/WEB-INF/classes/** runtime directory somewhere
*Ensure the path to load the user2fo.xsl file, specified in FopServlet, is correct (in case you moved it)
*Ensure the xsl file is within your webapps/appfuse/WEB-INF/classes/** runtime directory
*Ensure the path to load the user2fo.xsl file, specified in FOPServlet, is correct (in case you moved it)

Back to POJOToPDF, or to the Page History.