org.objectweb.dsrg.sofa.repository.renamer
Class RenamerHelper

java.lang.Object
  extended by org.objectweb.dsrg.sofa.repository.renamer.RenamerHelper

public class RenamerHelper
extends java.lang.Object

This class is responsible for renaming process of classes stored in repository.

New classname is derived from the original classname and the version of the containing code bundle: "_v"


Constructor Summary
RenamerHelper()
           
 
Method Summary
static java.util.Set<java.lang.String> getClasses(CodeBundle cb)
          Reads CodeBundle jar file stored on the server and returns contained classes.
static java.lang.String getNewClassName(java.lang.Class c, CodeBundle bundle)
          Creates a new classname for specified class from specified CodeBundle.
static java.lang.String getNewClassName(java.lang.String className, CodeBundle bundle)
          Creates a new classname for specified class from specified CodeBundle.
static void uploadRenamedFile(java.io.File in, CodeBundle cb)
          Main entry method of this class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RenamerHelper

public RenamerHelper()
Method Detail

uploadRenamedFile

public static void uploadRenamedFile(java.io.File in,
                                     CodeBundle cb)
                              throws java.io.IOException,
                                     DuplicitClassnameException
Main entry method of this class. Reads input file, renames classes within it and stores it into destination CodeBundle. Renamed data are stored next to original data in Renamed stream. See CodeBundle.

Parameters:
in - Source JAR file
cb - Destination CodeBundle
Throws:
java.io.IOException
DuplicitClassnameException

getNewClassName

public static java.lang.String getNewClassName(java.lang.String className,
                                               CodeBundle bundle)
Creates a new classname for specified class from specified CodeBundle.

Parameters:
className - Old class name
bundle - Owner
Returns:
New classname, which has version information

getNewClassName

public static java.lang.String getNewClassName(java.lang.Class c,
                                               CodeBundle bundle)
Creates a new classname for specified class from specified CodeBundle.

Parameters:
c - Class, which class name should be converted
bundle - Owner
Returns:
New classname, which has version information

getClasses

public static java.util.Set<java.lang.String> getClasses(CodeBundle cb)
                                                  throws java.io.IOException
Reads CodeBundle jar file stored on the server and returns contained classes.

Parameters:
cb - CodeBundle from which we want list classes.
Returns:
Set of names of original (non-renamed) classnames.
Throws:
java.io.IOException - If something went wrong trying read the CodeBundle jar file.