SC Profile Manager dev blog

Activity Log – Week #5

Posted in Profile Manager GUI,Profile Manager System by scprofile on June 25, 2008

Just two weeks before the first evaluation period. During the first part of the week, I’ve corrected my singleton problem. In fact, I’ve abandoned it for two reasons :
1. Technical problem : the OSGi framework search the class in his bundle list before in the classpath
2. Optimizing performance : reading the file two times, take a little time and there no need to keep it in memory.

Now that I can get information in the framework, the development restart.

Here is the current status of the system :

  • In the launcher of SC, the system read the profiles file and get informations.
    IF there is no file THEN a new profile is created and to make the transition invisible, the system move all the files and directories in the new profile directory.
    Currently, the frame asking the user to choose a profile isn’t ready.
  • In the program, the interface has been added in the Configuration Frame. It allow the user to manages the profiles within SC : creating a new profile, renaming or deleting a existing one BUT not the current one (since the name is used in the default profile directory name).
    All the dialogs are ready, I just need to write the remaining actions.

This is the list of the points I wish to end before the next week :

  • finish the dialogs
  • finish the texts in the dialogs
  • allow the user to change of profile in the configuration Frame

Task that need to be done before the evaluation period :

  • The frame in the launcher to choose a profile a the start of the program

Activity log – Week #X

Posted in Profile Manager GUI,Profile Manager System by scprofile on June 20, 2008

I lost the track of the week number.

During the lasts weeks, I rewrite a little part of my code. The system is integrated in the launcher. At the present time, if there isn’t any profile on the computer, the program create a default one, it also move the old configuration files in the profile. Like this the user won’t notice the integration of the system.

I began to create the interfaces. The first one, will be integrated in the configuration dialog. This interface will also used at the very start of the program of ask the user to select a profile. The interface is ready but I got some problem while importing my main package and a duplication of a singleton class, so no data are imported.

The others interfaces for deleting and renaming profiles are also ready, I just need to link with main package.

In the next weeks, I will try to solve the problem and create the last interface to add a profile.

Activity log – Week #1

Posted in Profile Manager System by scprofile on May 31, 2008


The week I’ve done some light research on the ConfigurationService and the FileAccessService and I’ve found that two files are called by other services (JmfDeviceDetector and the MetaContactListService) and the access to the main config file (sip-communicator.xml) is written directly in the method : ConfigurationServiceImpl.createConfigurationFile().

I also work on the profile manager storage system.
A profile is defined by :

  • an ID
  • a name : for example Damien or Emil
  • a path : where the data of the profile will be stored.
    This path might be enter by the user or generated automatically using this scheme :

    • XXXXX : is the date in hexadecimal in uppercase
    • name : is the name of the profile in lowercase

Here is an example of the future profile.xml file.

    <lastProfile value="1" />
    <useDefault value="true" />
        <profile id="1">
            <name value="default" />
            <path value="/home/damien/.sip-communicator/SC.A12F3.default" />
        <profile id="2">
            <name value="Damien" />
            <path value="/home/damien/SC/profile" />

The first value store the last profile used
The second one define if we need to ask for a profile or use the default one (ie the last profile used)
Then the list of the profiles. A field which store the next id might be add.

Today I will begin the implementation of the new Service and more specifically on the methods to read this file and  keep it updated.