Ignore:
Timestamp:
03/17/19 22:29:23 (5 years ago)
Author:
davidb
Message:

After change to have resources-public and resources-private, some changes needed to support running Expeditee for a single user; other main change is to allow FrameDirs to specify relative directory paths, to help with when Expeditee is run on the cloud -- similar work still needs to occurr for ImageDir and AudioDir; some other minor changes also made.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/settings/UserSettings.java

    r1242 r1244  
    2727import java.util.List;
    2828
     29import org.apollo.io.AudioPathManager;
    2930import org.expeditee.agents.SearchGreenstone;
    3031import org.expeditee.agents.mail.MailSession;
     
    5354        public static String DEFAULT_PROFILE_NAME = "default";
    5455         
    55         public static Boolean multiUserMode;
     56        public static Boolean PublicAndPrivateResources;
    5657       
    5758        public static final IntegerSetting Gravity = new IntegerSetting("Distance the cursor has to be from a text item to select the text item", "Gravity", 3);
     
    7071                }
    7172                String first = FrameUtils.getLink(text, UserSettings.HomeFrame.get());
    72                 // do not use non-existant frames as the first frame
     73                // do not use non-existent frames as the first frame
    7374                if (FrameIO.isValidFrameName(first)) {
    7475                        _value = first;
     
    203204        static {
    204205                // Are we in the new regime or the old regime?
    205                 File resFile = Paths.get(getDesiredExpediteeHome()).resolve(".res").toFile();
    206                 File resourcesPrivateFile = Paths.get(getDesiredExpediteeHome() + "resources-private" + File.separator).toFile();
     206                File resFile = Paths.get(getExpediteeHome()).resolve(".res").toFile();
     207                File resourcesPrivateFile = Paths.get(getExpediteeHome() + "resources-private" + File.separator).toFile();
    207208                if (resourcesPrivateFile.exists()) {
    208                         // If resources-private exists than this is a good sign we have new regime available.
    209                         multiUserMode = Boolean.TRUE;
    210                 } else if (resFile.exists()) {
     209                        // If resources-private exists then this is a good sign we have new regime available.
     210                        PublicAndPrivateResources = Boolean.TRUE;
     211                }
     212                else if (resFile.exists()) {
    211213                        // If we do not, but do have the .res file then this is a good sign we are in old regime.
    212                         multiUserMode = Boolean.FALSE;
    213                 } else {
     214                        PublicAndPrivateResources = Boolean.FALSE;
     215                }
     216                else {
    214217                        // If we have neither then we are unpacking and therefore will have new regime available once unpacked.
    215                         multiUserMode = Boolean.TRUE;
     218                        PublicAndPrivateResources = Boolean.TRUE;
    216219                }
    217220               
     
    219222        }
    220223               
    221         public static void setupDefaultFolders() {             
    222                 FrameIO.changeParentFolder(getDesiredExpediteeHome());
    223          
     224        public static void setupDefaultFolders() {
     225                String expeditee_home = getExpediteeHome();
     226
     227                FrameIO.changeParentAndSubFolders(expeditee_home);
     228
    224229                FolderSettings.FrameDirs.get().clear();
    225230                FolderSettings.ImageDirs.get().clear();
     231                FolderSettings.AudioDirs.get().clear();
    226232                appendDefaultFolders();
    227         }
    228 
    229         private static String getDesiredExpediteeHome() {
    230                 String homeProperty = System.getProperty("expeditee.home");
    231                 String expeditee_home = homeProperty == null ? getSaveLocation() : homeProperty + File.separator;
     233               
     234        }
     235
     236        private static String getExpediteeHome() {
     237                String home_property = System.getProperty("expeditee.home");
     238                String expeditee_home = (home_property != null) ? home_property + File.separator : getSaveLocation();
    232239                return expeditee_home;
    233240        }
    234241
    235242        public static void appendDefaultFolders() {
    236                 if (multiUserMode) {
     243                if (PublicAndPrivateResources) {
    237244                        // The comments here explain how things have changed with the new regime.
    238245                        // FrameDirs
     
    244251                        // 6. MESSAGES_PATH                                     Still points to same place.  Should these be per user and encrypted?
    245252                        // 7. PUBLIC_PATH                                       Still points to same place.  Kept for compatibility.
    246                         FolderSettings.FrameDirs.get().add(FrameIO.PROFILE_PATH);
    247                         FolderSettings.FrameDirs.get().add(FrameIO.FRAME_PRIVATE_PATH);
    248                         FolderSettings.FrameDirs.get().add(FrameIO.SHARED_FRAMESETS_PATH);
    249                         FolderSettings.FrameDirs.get().add(FrameIO.FRAME_PATH);
    250                         FolderSettings.FrameDirs.get().add(FrameIO.RESOURCES_PATH);
    251                         FolderSettings.FrameDirs.get().add(FrameIO.MESSAGES_PATH);
    252                         FolderSettings.FrameDirs.get().add(FrameIO.PUBLIC_PATH);
     253                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.PROFILE_PATH);
     254                        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);
     258                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.MESSAGES_PATH);
     259                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.PUBLIC_PATH);
    253260                        FolderSettings.FrameDirs.setDefault(FolderSettings.FrameDirs.get());
    254261                                               
     
    259266                        FolderSettings.ImageDirs.get().add(FrameIO.IMAGES_PATH);
    260267                        FolderSettings.ImageDirs.setDefault(FolderSettings.ImageDirs.get());
     268                       
     269                        FolderSettings.AudioDirs.get().add(FrameIO.AUDIO_PRIVATE_PATH);
     270                        FolderSettings.AudioDirs.get().add(FrameIO.AUDIO_PATH);
     271                        FolderSettings.AudioDirs.setDefault(FolderSettings.AudioDirs.get());
     272                       
    261273                } else {
    262                         FolderSettings.FrameDirs.get().add(FrameIO.FRAME_PATH);
    263                         FolderSettings.FrameDirs.get().add(FrameIO.PUBLIC_PATH);
    264                         FolderSettings.FrameDirs.get().add(FrameIO.PROFILE_PATH);
    265                         FolderSettings.FrameDirs.get().add(FrameIO.HELP_PATH);
    266                         FolderSettings.FrameDirs.get().add(FrameIO.MESSAGES_PATH);
     274                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.FRAME_PATH);
     275                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.PUBLIC_PATH);
     276                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.PROFILE_PATH);
     277                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.HELP_PATH);
     278                        FolderSettings.FrameDirs.addAbsoluteDir(FrameIO.MESSAGES_PATH);
    267279                        FolderSettings.FrameDirs.setDefault(FolderSettings.FrameDirs.get());
     280
    268281                        FolderSettings.ImageDirs.get().add(FrameIO.IMAGES_PATH);
    269282                        FolderSettings.ImageDirs.setDefault(FolderSettings.ImageDirs.get());
     283                       
     284                        FolderSettings.AudioDirs.get().add(FrameIO.AUDIO_PATH);
     285                        FolderSettings.AudioDirs.setDefault(FolderSettings.AudioDirs.get());
    270286                }
    271287        }
Note: See TracChangeset for help on using the changeset viewer.