JumpLoader
Java File Upload Applet

Documentation

Customization kit

The kit main purpose is to allow build custom version of JumpLoader. It is possible to alter resource files (images, properties) on build phase.

Environment requirements

In order to build custom version you need to install:

File structure

binbin Contains original applet files (classes, resources). It's content should not be altered.
imagesimagesimages Contains applet original images
imagesimagesjmaster Contains applet binary files (compiled java classes)
imagesimagesview Contains GUI configuration property files
imagesimagesgui.properties Top level GUI property file (contains include directives)
imagesimagesgui_applet.properties Applet specific GUI properties
imagesimagesgui_common.properties Common GUI elements definition
imagesimagesgui_localfiles.properties GUI properties for local file system tree view
imagesimagesgui_main.properties GUI properties for main view
imagesimagesgui_upload.properties GUI properties for upload view
binbuild The build directory
bincustom Custom resources directory
binjumploader_z.jar The build product (will be created when build finished)
imagesapp_custom.bat Execute JumpLoader application using custom resource files
imagesapp_default.bat Execute JumpLoader application using original files
imagesapp_jar.bat Execute JumpLoader application from JAR file
imagesbuild.properties Build properties file (need to alter, see below)
imagesbuild.xml Build script (do not alter)
imagesmake.bat Build executable

Build process

Please install JDK and Apache Ant before building. Ensure that bin folders of JDK and Ant are registered in the PATH variable.

The build process flow is quiet simple, just type make command in the kit root directory and following steps will be executed:

  1. build directory cleanup.
  2. Copy original files (from bin) to the build directory.
  3. Copy custom files (override original) to the build directory.
  4. Create JAR from build directory.
  5. Sign JAR.

If build was succesfull BUILD SUCCESSFUL message will be present and jumploader_z.jar file generated.

If build fails, BUILD FAILED message will be present, read previous console messages for error cause.

Last step (JAR signing) requires that certificate is present in the local keystore. Please read "How to Sign Applets Using RSA" for detailed information.

When you have proper certificate stored, it is necessary to alter build.properties file — set appropriate values for certificate alias and storepass properties:

alias=mykey
storepass=123456

Customization

The customize particular image, property or GUI appearance it is necessary to put altered resource file to proper location under custom directory.

It is not recommended to alter original files just because compare original resource to altered could be a good opportunity.

Assume it is necessary to build custom JAR that:

  • Use russian user interface lanuage.
  • Upload images to http://myserver/upload.
  • Alter "start upload" button image.

So, it is necessary to:

  • Put russian language messages.properties file to the custom directory.
  • Create file custom/UploaderConfig.properties and specify there: uploadUrl=http://myserver/upload.
  • This could be most complicated step here, because actually there are 4 images for "start upload" button: default, hover, pressed and disabled. Original image files located under bin/images directory and have names start_normal.png, start_hover.png, start_pressed.png and start_disabled.png correspondingly. So, it is necessary to create 4 images for mentioned states (they don't have to be same size as original image size) and put them to custom/images using appropriate file names.

NB! It is not eligible to customize JumpLoader free version logo image!

It is possible (at some extent) to change GUI appearance, for example fonts, colors, borders etc. by altering gui*.properties files. Although this feature is not documented, this could be not much complicated.

It is possible to configure applet behaviour without parameters by altering AppletConfig.properties, UploaderConfig.properties and ViewConfig.properties, see Applet configuration section.