Changeset 1328 for trunk


Ignore:
Timestamp:
04/26/19 17:36:43 (5 years ago)
Author:
bln4
Message:

A cleaner more methodical way of establishing what the paths are based on two factors: new vs old regime and authenticated vs not. This was motivated by a bug David found in starting a fresh version of Expeditee without -Dexpeditee.authentication. This fixes that bug.

Location:
trunk/src/org/expeditee
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/gui/FrameIO.java

    r1325 r1328  
    134134       
    135135        public static void changeParentAndSubFolders(String newFolder) {
    136                 // Partial Paths.
    137                 PARENT_FOLDER = newFolder;     
    138                 String resourcesPublicPath = PARENT_FOLDER + "resources-public" + File.separator;
    139                 String resourcesPrivateIndividualPath = PARENT_FOLDER + "resources-" + UserSettings.UserName.get() + File.separator;
    140 
    141                 // Standard paths.
     136                // Partial Paths
     137                PARENT_FOLDER = newFolder;
    142138                PUBLIC_PATH = PARENT_FOLDER + "public" + File.separator;
    143139                TRASH_PATH = PARENT_FOLDER + "trash" + File.separator;
    144                 HELP_PATH = PARENT_FOLDER + "documentation" + File.separator;
    145140                PROFILE_PATH = PARENT_FOLDER + "profiles" + File.separator;
    146141                EXPORTS_PATH = PARENT_FOLDER + "exports" + File.separator;
    147142                STATISTICS_PATH = PARENT_FOLDER + "statistics" + File.separator;
    148143                LOGS_PATH = PARENT_FOLDER + "logs" + File.separator;
    149                                
    150144               
    151                 // Conditional paths
     145                String resourcesPublicPath = PARENT_FOLDER + "resources-public" + File.separator;
     146                String resourcesPrivateIndividualPath = PARENT_FOLDER + "resources-" + UserSettings.UserName.get() + File.separator;
     147               
    152148                if (UserSettings.PublicAndPrivateResources) {
    153                         // Work with a system of public and private folders
    154                        
     149                        // Paths for the new regime
    155150                        FONT_PATH = resourcesPublicPath + "fonts" + File.separator;
    156151                        DICT_PATH = resourcesPublicPath + "dict" + File.separator;
     152                        HELP_PATH = resourcesPublicPath + "documentation" + File.separator;
     153                        HELP_PRIVATE_PATH = resourcesPrivateIndividualPath + "documentation" + File.separator;
     154                        FRAME_PATH = resourcesPublicPath + "framesets" + File.separator;
     155                        FRAME_PRIVATE_PATH = resourcesPrivateIndividualPath + "framesets" + File.separator;
     156                        MESSAGES_PATH = resourcesPrivateIndividualPath + "messages" + File.separator;
    157157                        IMAGES_PATH = resourcesPublicPath + "images" + File.separator;
     158                        IMAGES_PRIVATE_PATH = resourcesPrivateIndividualPath + "images" + File.separator;
    158159                        AUDIO_PATH = resourcesPublicPath + "audio" + File.separator;
    159                         FRAME_PATH = resourcesPublicPath + "framesets" + File.separator;
     160                        AUDIO_PRIVATE_PATH = resourcesPrivateIndividualPath + "audio" + File.separator;
     161
     162                        // Used only when extracting resources (when expeditee is run for first time)
     163                        RESOURCES_PRIVATE_PATH = PARENT_FOLDER + "resources-private" + File.separator;
     164                       
     165                        if (AuthenticatorBrowser.isAuthenticated()) {
     166                                // Paths for the new regime while authenticated
     167                                SHARED_FRAMESETS_PATH = resourcesPrivateIndividualPath + "framesets-shared" + File.separator;
     168                                DEAD_DROPS_PATH = resourcesPrivateIndividualPath + "deaddrops" + File.separator;
     169                                CONTACTS_PATH = resourcesPrivateIndividualPath + "contacts" + File.separator;
     170                                MAIL_PATH = resourcesPrivateIndividualPath + "mail" + File.separator;
     171                        } else {
     172                                SHARED_FRAMESETS_PATH = null;
     173                                DEAD_DROPS_PATH = null;
     174                                CONTACTS_PATH = null;
     175                                MAIL_PATH = null;
     176                        }
    160177                } else {
     178                        // Paths for the old regime
    161179                        FONT_PATH = PARENT_FOLDER + "fonts" + File.separator;
    162180                        DICT_PATH = PARENT_FOLDER + "dict" + File.separator;
     181                        HELP_PATH = PARENT_FOLDER + "documentation" + File.separator;
     182                        FRAME_PATH = PARENT_FOLDER + "framesets" + File.separator;
     183                        MESSAGES_PATH = PARENT_FOLDER + "messages" + File.separator;
    163184                        IMAGES_PATH = PARENT_FOLDER + "images" + File.separator;
    164185                        AUDIO_PATH = PARENT_FOLDER + "audio" + File.separator;
    165                         FRAME_PATH = PARENT_FOLDER + "framesets" + File.separator;
    166                         DEAD_DROPS_PATH = PARENT_FOLDER + "deaddrops" + File.separator;
    167                 }
    168                
    169                 if (!UserSettings.PublicAndPrivateResources || !AuthenticatorBrowser.isAuthenticated()) {
    170186                       
    171                         if (UserSettings.UserName.get().equals(AuthenticatorBrowser.USER_NOBODY)) {
    172                                 System.err.println("**** FrameIO::changeParentAndSubFolders(): Not setting subfolders for user '"+AuthenticatorBrowser.USER_NOBODY+"'");
    173                         }
    174                        
    175                         // If we are using the old regime, or user.name set to Browser.USER_NOBODY
    176                         // => then these paths should not be used.
    177                         RESOURCES_PATH = null;
    178                         SHARED_FRAMESETS_PATH = null;
    179                         RESOURCES_PRIVATE_PATH = null;         
    180                         FRAME_PRIVATE_PATH = null;
    181                         IMAGES_PRIVATE_PATH = null;
    182                         AUDIO_PRIVATE_PATH = null;
    183                         CONTACTS_PATH = null;
    184                         HELP_PRIVATE_PATH = null;
    185                        
    186                         if (!UserSettings.PublicAndPrivateResources) {
    187                                 MESSAGES_PATH = PARENT_FOLDER + "messages" + File.separator;
     187                        if (AuthenticatorBrowser.isAuthenticated()) {
     188                                // Paths for the old regime while authenticated
     189                                SHARED_FRAMESETS_PATH = PARENT_FOLDER + "framesets-shared" + File.separator;
     190                                DEAD_DROPS_PATH = PARENT_FOLDER + "deaddrops" + File.separator;
     191                                CONTACTS_PATH = PARENT_FOLDER + "contacts" + File.separator;
     192                                MAIL_PATH = PARENT_FOLDER + "mail" + File.separator;
    188193                        } else {
    189                                 MESSAGES_PATH = resourcesPrivateIndividualPath + "messages" + File.separator;
    190                         }
    191                        
    192                 } else {
    193                         RESOURCES_PATH = resourcesPublicPath + "documentation" + File.separator;
    194                         SHARED_FRAMESETS_PATH = resourcesPrivateIndividualPath + "framesets-shared" + File.separator;
    195                        
    196                         RESOURCES_PRIVATE_PATH = PARENT_FOLDER + "resources-private" + File.separator;
    197                         FRAME_PRIVATE_PATH = resourcesPrivateIndividualPath + "framesets" + File.separator;
    198                         IMAGES_PRIVATE_PATH = resourcesPrivateIndividualPath + "images" + File.separator;
    199                         AUDIO_PRIVATE_PATH = resourcesPrivateIndividualPath + "audio" + File.separator;
    200                         CONTACTS_PATH = resourcesPrivateIndividualPath + "contacts" + File.separator;
    201                         HELP_PRIVATE_PATH = resourcesPrivateIndividualPath + "documentation" + File.separator;
    202                         MESSAGES_PATH = resourcesPrivateIndividualPath + "messages" + File.separator;
    203                         MAIL_PATH = resourcesPrivateIndividualPath + "mail" + File.separator;
    204                         DEAD_DROPS_PATH = resourcesPrivateIndividualPath + "deaddrops" + File.separator;
    205                 }
    206                        
     194                                SHARED_FRAMESETS_PATH = null;
     195                                DEAD_DROPS_PATH = null;
     196                                CONTACTS_PATH = null;
     197                                MAIL_PATH = null;
     198                        }
     199                }
    207200               
    208201                System.err.println("**** FrameIO::changeParentAndSubFolder(): Calling AudioPathManger.changeParentAndSubFolder()");
    209202                AudioPathManager.changeParentAndSubFolders(newFolder);
    210203        }
     204       
     205//      public static void changeParentAndSubFolders(String newFolder) {
     206//              // Partial Paths.
     207//              PARENT_FOLDER = newFolder;     
     208//              String resourcesPublicPath = PARENT_FOLDER + "resources-public" + File.separator;
     209//              String resourcesPrivateIndividualPath = PARENT_FOLDER + "resources-" + UserSettings.UserName.get() + File.separator;
     210//
     211//              // Standard paths.
     212//              PUBLIC_PATH = PARENT_FOLDER + "public" + File.separator;
     213//              TRASH_PATH = PARENT_FOLDER + "trash" + File.separator;
     214//              HELP_PATH = PARENT_FOLDER + "documentation" + File.separator;
     215//              PROFILE_PATH = PARENT_FOLDER + "profiles" + File.separator;
     216//              EXPORTS_PATH = PARENT_FOLDER + "exports" + File.separator;
     217//              STATISTICS_PATH = PARENT_FOLDER + "statistics" + File.separator;
     218//              LOGS_PATH = PARENT_FOLDER + "logs" + File.separator;
     219//                             
     220//             
     221//              // Conditional paths
     222//              if (UserSettings.PublicAndPrivateResources) {
     223//                      // Work with a system of public and private folders
     224//                     
     225//                      FONT_PATH = resourcesPublicPath + "fonts" + File.separator;
     226//                      DICT_PATH = resourcesPublicPath + "dict" + File.separator;
     227//                      IMAGES_PATH = resourcesPublicPath + "images" + File.separator;
     228//                      AUDIO_PATH = resourcesPublicPath + "audio" + File.separator;
     229//                      FRAME_PATH = resourcesPublicPath + "framesets" + File.separator;
     230//              } else {
     231//                      FONT_PATH = PARENT_FOLDER + "fonts" + File.separator;
     232//                      DICT_PATH = PARENT_FOLDER + "dict" + File.separator;
     233//                      IMAGES_PATH = PARENT_FOLDER + "images" + File.separator;
     234//                      AUDIO_PATH = PARENT_FOLDER + "audio" + File.separator;
     235//                      FRAME_PATH = PARENT_FOLDER + "framesets" + File.separator;
     236//                      DEAD_DROPS_PATH = PARENT_FOLDER + "deaddrops" + File.separator;
     237//              }
     238//             
     239//              if (!UserSettings.PublicAndPrivateResources || (AuthenticatorBrowser.isAuthenticationRequired() && !AuthenticatorBrowser.isAuthenticated())) {
     240//                     
     241//                      if (UserSettings.UserName.get().equals(AuthenticatorBrowser.USER_NOBODY)) {
     242//                              System.err.println("**** FrameIO::changeParentAndSubFolders(): Not setting subfolders for user '"+AuthenticatorBrowser.USER_NOBODY+"'");
     243//                      }
     244//                     
     245//                      // If we are using the old regime, or user.name set to Browser.USER_NOBODY
     246//                      // => then these paths should not be used.
     247//                      RESOURCES_PATH = null;
     248//                      SHARED_FRAMESETS_PATH = null;
     249//                      RESOURCES_PRIVATE_PATH = null;         
     250//                      FRAME_PRIVATE_PATH = null;
     251//                      IMAGES_PRIVATE_PATH = null;
     252//                      AUDIO_PRIVATE_PATH = null;
     253//                      CONTACTS_PATH = null;
     254//                      HELP_PRIVATE_PATH = null;
     255//                     
     256//                      if (!UserSettings.PublicAndPrivateResources) {
     257//                              MESSAGES_PATH = PARENT_FOLDER + "messages" + File.separator;
     258//                      } else {
     259//                              MESSAGES_PATH = resourcesPrivateIndividualPath + "messages" + File.separator;
     260//                      }
     261//                     
     262//              } else {
     263//                      RESOURCES_PATH = resourcesPublicPath + "documentation" + File.separator;
     264//                      SHARED_FRAMESETS_PATH = resourcesPrivateIndividualPath + "framesets-shared" + File.separator;
     265//                     
     266//                      RESOURCES_PRIVATE_PATH = PARENT_FOLDER + "resources-private" + File.separator;
     267//                      FRAME_PRIVATE_PATH = resourcesPrivateIndividualPath + "framesets" + File.separator;
     268//                      IMAGES_PRIVATE_PATH = resourcesPrivateIndividualPath + "images" + File.separator;
     269//                      AUDIO_PRIVATE_PATH = resourcesPrivateIndividualPath + "audio" + File.separator;
     270//                      CONTACTS_PATH = resourcesPrivateIndividualPath + "contacts" + File.separator;
     271//                      HELP_PRIVATE_PATH = resourcesPrivateIndividualPath + "documentation" + File.separator;
     272//                      MESSAGES_PATH = resourcesPrivateIndividualPath + "messages" + File.separator;
     273//                      MAIL_PATH = resourcesPrivateIndividualPath + "mail" + File.separator;
     274//                      DEAD_DROPS_PATH = resourcesPrivateIndividualPath + "deaddrops" + File.separator;
     275//              }
     276//                     
     277//             
     278//              System.err.println("**** FrameIO::changeParentAndSubFolder(): Calling AudioPathManger.changeParentAndSubFolder()");
     279//              AudioPathManager.changeParentAndSubFolders(newFolder);
     280//      }
    211281       
    212282        // All methods are static, this should not be instantiated
  • trunk/src/org/expeditee/settings/UserSettings.java

    r1287 r1328  
    239239                return expeditee_home;
    240240        }
    241 
     241       
    242242        public static void appendDefaultFolders() {
    243                 if (PublicAndPrivateResources && AuthenticatorBrowser.isAuthenticated()) {
    244                         // The comments here explain how things have changed with the new regime.
    245                         // FrameDirs
    246                         // 1. PROFILE_PATH                                      Still points to same place.
    247                         // 2. SHARED_FRAMESETS_PATH                     Still points to same place. (encryption stops just anyone reading it)
    248                         // 3. framesets-<username>                      Generated on user account creation and must be refreshed on user switching.  Also gives access to tutorial stuffs.
    249                         // 4. FRAME_PATH                                        <expeditee-home>\resources-public\framesets.
    250                         // 5. HELP_PUBLIC_PATH                          <expeditee-home>\resources-public\documentation.
    251                         // 6. MESSAGES_PATH                                     Still points to same place.  Should these be per user and encrypted?
    252                         // 7. PUBLIC_PATH                                       Still points to same place.  Kept for compatibility.
    253                         FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.PROFILE_PATH);
     243                FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.PUBLIC_PATH);
     244                FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.TRASH_PATH);
     245                FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.PROFILE_PATH);
     246               
     247                if (PublicAndPrivateResources) {
     248                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.HELP_PATH);
     249                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.HELP_PRIVATE_PATH);
     250                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.FRAME_PATH);
    254251                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.FRAME_PRIVATE_PATH);
    255                         FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.SHARED_FRAMESETS_PATH);
    256                         FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.FRAME_PATH);
    257                         FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.RESOURCES_PATH);
    258252                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.MESSAGES_PATH);
    259                         FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.PUBLIC_PATH);
    260                         FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.HELP_PRIVATE_PATH);
    261                         FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.MAIL_PATH);
     253                        if (AuthenticatorBrowser.isAuthenticated()) {
     254                                FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.SHARED_FRAMESETS_PATH);
     255                        }
    262256                        FolderSettings.FrameDirs.setDefault(FolderSettings.FrameDirs.get());
    263                                                
    264                         // ImageDirs
    265                         // 1. resources-<username>\images       Generated on user account creation and must be refreshed on user switching.
    266                         // 2. IMAGES_PATH                                       <expeditee-home>\resources-public\images
     257                       
     258                        FolderSettings.ImageDirs.addAbsoluteDir(FrameIO.IMAGES_PATH);
    267259                        FolderSettings.ImageDirs.addAbsoluteDir(FrameIO.IMAGES_PRIVATE_PATH);
    268                         FolderSettings.ImageDirs.addAbsoluteDir(FrameIO.IMAGES_PATH);
    269260                        FolderSettings.ImageDirs.setDefault(FolderSettings.ImageDirs.get());
    270261                       
     262                        FolderSettings.AudioDirs.addAbsoluteDir(FrameIO.AUDIO_PATH);
    271263                        FolderSettings.AudioDirs.addAbsoluteDir(FrameIO.AUDIO_PRIVATE_PATH);
    272                         FolderSettings.AudioDirs.addAbsoluteDir(FrameIO.AUDIO_PATH);
    273264                        FolderSettings.AudioDirs.setDefault(FolderSettings.AudioDirs.get());
    274265                } else {
     266                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.HELP_PATH);
    275267                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.FRAME_PATH);
    276                         FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.PUBLIC_PATH);
    277                         FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.PROFILE_PATH);
    278                         FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.HELP_PATH);
    279268                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.MESSAGES_PATH);
     269                        if (AuthenticatorBrowser.isAuthenticated()) {
     270                                FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.SHARED_FRAMESETS_PATH);
     271                        }
    280272                        FolderSettings.FrameDirs.setDefault(FolderSettings.FrameDirs.get());
    281 
     273                       
    282274                        FolderSettings.ImageDirs.addAbsoluteDir(FrameIO.IMAGES_PATH);
    283275                        FolderSettings.ImageDirs.setDefault(FolderSettings.ImageDirs.get());
     
    287279                }
    288280        }
     281
     282//      public static void appendDefaultFolders() {
     283//              if (PublicAndPrivateResources && AuthenticatorBrowser.isAuthenticated()) {
     284//                      // The comments here explain how things have changed with the new regime.
     285//                      // FrameDirs
     286//                      // 1. PROFILE_PATH                                      Still points to same place.
     287//                      // 2. SHARED_FRAMESETS_PATH                     Still points to same place. (encryption stops just anyone reading it)
     288//                      // 3. framesets-<username>                      Generated on user account creation and must be refreshed on user switching.  Also gives access to tutorial stuffs.
     289//                      // 4. FRAME_PATH                                        <expeditee-home>\resources-public\framesets.
     290//                      // 5. HELP_PUBLIC_PATH                          <expeditee-home>\resources-public\documentation.
     291//                      // 6. MESSAGES_PATH                                     Still points to same place.  Should these be per user and encrypted?
     292//                      // 7. PUBLIC_PATH                                       Still points to same place.  Kept for compatibility.
     293//                      FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.PROFILE_PATH);
     294//                      FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.FRAME_PRIVATE_PATH);
     295//                      FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.SHARED_FRAMESETS_PATH);
     296//                      FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.FRAME_PATH);
     297//                      FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.RESOURCES_PATH);
     298//                      FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.MESSAGES_PATH);
     299//                      FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.PUBLIC_PATH);
     300//                      FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.HELP_PRIVATE_PATH);
     301//                      FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.MAIL_PATH);
     302//                      FolderSettings.FrameDirs.setDefault(FolderSettings.FrameDirs.get());
     303//                                             
     304//                      // ImageDirs
     305//                      // 1. resources-<username>\images       Generated on user account creation and must be refreshed on user switching.
     306//                      // 2. IMAGES_PATH                                       <expeditee-home>\resources-public\images
     307//                      FolderSettings.ImageDirs.addAbsoluteDir(FrameIO.IMAGES_PRIVATE_PATH);
     308//                      FolderSettings.ImageDirs.addAbsoluteDir(FrameIO.IMAGES_PATH);
     309//                      FolderSettings.ImageDirs.setDefault(FolderSettings.ImageDirs.get());
     310//                     
     311//                      FolderSettings.AudioDirs.addAbsoluteDir(FrameIO.AUDIO_PRIVATE_PATH);
     312//                      FolderSettings.AudioDirs.addAbsoluteDir(FrameIO.AUDIO_PATH);
     313//                      FolderSettings.AudioDirs.setDefault(FolderSettings.AudioDirs.get());
     314//              } else {
     315//                      FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.FRAME_PATH);
     316//                      FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.PUBLIC_PATH);
     317//                      FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.PROFILE_PATH);
     318//                      FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.HELP_PATH);
     319//                      FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.MESSAGES_PATH);
     320//                      if (FrameIO.FRAME_PRIVATE_PATH != null) {
     321//                              FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.FRAME_PRIVATE_PATH);
     322//                      }
     323//                      FolderSettings.FrameDirs.setDefault(FolderSettings.FrameDirs.get());
     324//                     
     325//                      FolderSettings.ImageDirs.addAbsoluteDir(FrameIO.IMAGES_PATH);
     326//                      FolderSettings.ImageDirs.setDefault(FolderSettings.ImageDirs.get());
     327//                     
     328//                      FolderSettings.AudioDirs.addAbsoluteDir(FrameIO.AUDIO_PATH);
     329//                      FolderSettings.AudioDirs.setDefault(FolderSettings.AudioDirs.get());
     330//              }
     331//      }
    289332
    290333        /**
Note: See TracChangeset for help on using the changeset viewer.