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

Edit this page


Referenced by
...nobody




JSPWiki v2.2.33

[RSS]


Hide Menu

FormattingSourceCode


This page will show you how to setup AppFuse 1.8 and Jalopy that you can format/beautify your code. This is useful if you're in a development team or if you like making your code more readable ;-).

This tutorial is divided in two. First we have to setup an ant task that calls jalopy to format your code, once there we'll have to modify appfuse's source code (I hope it's not for long, since all we do is modify the javadoc comments in the code). Every file url starts at your projects root foolder, I used appfuse's source code for this tutorial, but have done it with several ant new projects (just change the org/appfuse package to whatever your using, but I'll recomend changing your root appfuse, that way, every new project will have jalopy setup). There are two attachments at the bottom of the page you'll need.

AppFuse Setup

  • First you need to create a folder named lib/jalopy-1.0b11 and extract the contents of jalopy-1.0b11.zip in there.
  • Edit the lib/lib.properties file and add this lines at the end
#
# Jalopy - http://jalopy.sourceforge.net
#
jalopy.version=1.0b11
jalopy.dir=${lib.dir}/jalopy-${jalopy.version}
jalopy.jar=${jalopy.dir}/jalopy-ant-0.6.2.jar
  • Open the properties.xml and search for the <path id="web.test.classpath">...</path> section and add the following under it
<path id="jalopy.classpath">
    <path refid="dao.test.classpath"/>
    <path refid="service.test.classpath"/>
    <path refid="web.test.classpath"/>
    <fileset dir="${jalopy.dir}" includes="*.jar"/>
</path>
  • Open the build.xml file and search for the <!-- Taskdefs --> section and add the following under it
        <taskdef name="jalopy"
            classname="de.hunsicker.jalopy.plugin.ant.AntPlugin"
            classpath="${jalopy.jar}"/>
  • Still in the same file (build.xml) find the docs target and add the following above it
    <target name="jalopy" depends="compile">
        <jalopy convention="um.xml"
            loglevel="info"
            threads="2"
            classpathref="jalopy.classpath">
            <fileset dir="${src}">
                <include name="**/*.java"/>
            </fileset>
        </jalopy>
    </target>
If you're looking at what we're doing you'll notice a convention xml named um.xml... this is the convention I use, and you can change it if you like, but I won't get into that, there are tools to do that (an Eclipse plugin, a standalone gui, etc.). By the way, the um.xml is attached at the bottom of this page as well as the jalopy-1.0b11.zip (you'll have to use this one, if you want the jalopy task you've just create it to format your javadoc comments, because it's patched to know what to do with the servlet-mapping tag found in some servlets).

Thats it!!! Well... not quite, we still have to modify some javadocs :-)...

Fixing AppFuse's javadocs

Before this it all was fun, now comes the ugly part... But be patient, it's worth it!!!

  • Open src/dao/org/appfuse/dao/hibernate.BaseDaoHibernate.java file and add a <p> at the start of the class javadoc.
  • Open src/dao/org/appfuse/model/LabelValue.java file and insert * <p> before the line 14 and change both <p/> in lines 11 and 12 respectively for <br>.
  • Open src/dao/org/appfuse/model/Address.java file and add a <p> at the start of the class javadoc.
  • Open src/dao/org/appfuse/model/Role.java file and add a <p> at the start of the class javadoc and in the @author section
    Dan Kibler dan@getrolling.com should be <a href="mailto:dan@getrolling.com">Dan Kibler</a>.
  • Open src/dao/org/appfuse/model/User.java file and do the same with the @author.
  • Open src/service/org/appfuse/service/impl/RoleManagerImpl.java file and add a <p> at the start of the class javadoc.
  • Open src/service/org/appfuse/service/impl/UserManagerImpl.java file and add a <p> at the start of the class javadoc.
  • Open src/service/org/appfuse/util/StringUtil.java file and remove the carriage return in line 14. It should look like this:
 * <a href="StringUtil.java.html"><i>View Source</i></a>
  • Open src/web/org/appfuse/webapp/action/BaseAction.java file and change lines 46, 155, 157, 356, 361, 364 <p/> for a <br> and delete line 48.
  • Open src/web/org/appfuse/webapp/action/SignupAction.java file and change line's 26 <p/> to <p>.
  • Open src/web/org/appfuse/webapp/filter/ActionFilter.java file, delete[1] lines 40 through 42.
  • Open src/web/org/appfuse/webapp/filter/GZIPResponseWrapper.java file and change the @author to
 @author  <a href="mailto:cmurphy@intechtual.com">Matt Raible</a> 
  • Open src/web/org/appfuse/webapp/form/BaseForm.java file and add a <p> at the start of the class javadoc.
  • Open src/web/org/appfuse/webapp/taglib/LabelTag.java file and change the text in line 27 that reads <label> to &lt;label&gt;.
  • Finally, open src/web/org/appfuse/webapp/taglib/SecureTag.java file and in line 22 you'll find at the end of the line two <br />, you know what to do (remove the / and leave them like this <br>). The same thing can be found in line 29 (but there's just one). Grab lines 38 through 43 and put them before line 34 (everything after a tag gets erased).
 * Contributed by:<br>
 * <br>
 * XEsoft GmbH<br>
 * Oskar-Messter-Strasse 18<br>
 * 85737 Ismaning, Germany<br>
 * http://www.xesoft.com<br>
 * 
Save all your edited files and try running ant jalopy.

And as Matt so eloquently puts it:

Yeah Baby, Yeah: BUILD SUCCESSFUL
Total time: 20 seconds

I'll let you in a little secret... you can start using ant jalopy at the end of the AppFuse Setup section.

[#1]Just found out there's a limit to the chars jalopy can hold as a description, so if you don't want to lose the link to the html page, you will have to lose this section (Don't move the lines just erase them...).


Attachments:
jalopy-1.0b11.zip Info on jalopy-1.0b11.zip 1343353 bytes
um.xml Info on um.xml 14555 bytes


Go to top   Edit this page   More info...   Attach file...
This page last changed on 06-Nov-2006 13:52:59 MST by DavidMendoza.