@@ -69,15 +69,15 @@ public GXFile(String baseDirectoryPath, String fileName, ResourceAccessControlLi
6969
7070 switch (sourceType ) {
7171 case LocalFile :
72- FileSource = new GXFileInfo ( Paths . get ( baseDirectoryPath , fileName ). toFile () );
72+ createFileSourceLocal ( baseDirectoryPath , fileName );
7373 break ;
7474 case ExternalFile :
7575 FileSource = new GXExternalFileInfo (fileName , Application .getExternalProvider (), true , fileAcl );
7676 break ;
7777 case Unknown :
7878 ExternalProvider storageProvider = Application .getExternalProvider ();
7979 if (storageProvider == null || PrivateUtilities .isAbsoluteFilePath (fileName )) {
80- FileSource = new GXFileInfo ( Paths . get ( baseDirectoryPath , fileName ). toFile () );
80+ createFileSourceLocal ( baseDirectoryPath , fileName );
8181 }
8282 else {
8383 FileSource = new GXExternalFileInfo (fileName , storageProvider , true , fileAcl );
@@ -86,7 +86,13 @@ public GXFile(String baseDirectoryPath, String fileName, ResourceAccessControlLi
8686 }
8787 }
8888
89- public GXFile (IGXFileInfo fileInfo ) {
89+ private void createFileSourceLocal (String baseDirectoryPath , String fileName ) {
90+ boolean isAbsolutePath = PrivateUtilities .isAbsoluteFilePath (fileName );
91+ String absoluteOrRelativePath = (isAbsolutePath )? fileName : Paths .get (baseDirectoryPath , fileName ).toString (); //BaseDirectory could be empty.
92+ FileSource = new GXFileInfo (new File (absoluteOrRelativePath ));
93+ }
94+
95+ public GXFile (IGXFileInfo fileInfo ) {
9096 FileSource = fileInfo ;
9197 }
9298
0 commit comments