<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://filesys.org/wiki/index.php?action=history&amp;feed=atom&amp;title=How_to_convert_a_JLAN_filesystem</id>
	<title>How to convert a JLAN filesystem - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://filesys.org/wiki/index.php?action=history&amp;feed=atom&amp;title=How_to_convert_a_JLAN_filesystem"/>
	<link rel="alternate" type="text/html" href="http://filesys.org/wiki/index.php?title=How_to_convert_a_JLAN_filesystem&amp;action=history"/>
	<updated>2026-10-07T08:33:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.4</generator>
	<entry>
		<id>http://filesys.org/wiki/index.php?title=How_to_convert_a_JLAN_filesystem&amp;diff=133&amp;oldid=prev</id>
		<title>Tommygonk at 15:50, 14 January 2019</title>
		<link rel="alternate" type="text/html" href="http://filesys.org/wiki/index.php?title=How_to_convert_a_JLAN_filesystem&amp;diff=133&amp;oldid=prev"/>
		<updated>2019-01-14T15:50:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 15:50, 14 January 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l15&quot; &gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  import org.filesys.smb.SeekType;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  import org.filesys.smb.SeekType;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In JLAN the main DiskInterface filesystem interface has the method int fileExists(SrvSession sess, TreeConnection tree, String name), in JFileServer this has changed to use an enum class for the return value - FileStatus fileExists(SrvSession sess, TreeConnection tree, String name).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In JLAN the main DiskInterface filesystem interface has the method &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;int fileExists(SrvSession sess, TreeConnection tree, String name)&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;, in JFileServer this has changed to use an enum class for the return value - &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;FileStatus fileExists(SrvSession sess, TreeConnection tree, String name)&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In the JavaFileDiskDriver.java file change the method signature for the fileExists(...) method to return a FileStatus enum value.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In the JavaFileDiskDriver.java file change the method signature for the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;fileExists(...)&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;method to return a FileStatus enum value.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In JFileServer the NetworkFile class now uses enum classes for the access type and flags values, via the NetworkFile.Access and NetworkFile.Flags enum inner classes.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In JFileServer the NetworkFile class now uses enum classes for the access type and flags values, via the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;NetworkFile.Access&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;and &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;NetworkFile.Flags&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;enum inner classes.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;We need to modify the JavaFileDiskDriver.java createFile() and openFile() methods to use the new NetworkFile.Access enum class. In the createFile() method change the call to setGrantedAccess() to :-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;We need to modify the JavaFileDiskDriver.java &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;createFile()&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;and &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;openFile()&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;methods to use the new &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;NetworkFile.Access&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;enum class. In the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;createFile()&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;method change the call to setGrantedAccess() to :-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  netFile.setGrantedAccess(NetworkFile.Access.READ_WRITE);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  netFile.setGrantedAccess(NetworkFile.Access.READ_WRITE);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In the openFile() method change the calls to setGrantedAccess() to :-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;openFile()&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;method change the calls to setGrantedAccess() to :-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  if( params.isReadOnlyAccess())&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  if( params.isReadOnlyAccess())&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l32&quot; &gt;Line 32:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 32:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      netFile.setGrantedAccess( NetworkFile.Access.READ_WRITE);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      netFile.setGrantedAccess( NetworkFile.Access.READ_WRITE);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In the JavaNetworkFile.java module openFile() method we need to change the call to create the RandomAccessFile to :-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In the JavaNetworkFile.java module &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;openFile()&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;method we need to change the call to create the RandomAccessFile to :-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  m_io = new RandomAccessFile( m_file, getGrantedAccess() == NetworkFile.Access.READ_WRITE ? &amp;quot;rw&amp;quot; : &amp;quot;r&amp;quot;);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  m_io = new RandomAccessFile( m_file, getGrantedAccess() == NetworkFile.Access.READ_WRITE ? &amp;quot;rw&amp;quot; : &amp;quot;r&amp;quot;);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The JLAN filesystem driver should now compile against the JFileServer classes. Converting a JLAN filesystem to the new JFileServer code is fairly straighforward.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The JLAN filesystem driver should now compile against the JFileServer classes. Converting a JLAN filesystem to the new JFileServer code is fairly straighforward.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tommygonk</name></author>
		
	</entry>
	<entry>
		<id>http://filesys.org/wiki/index.php?title=How_to_convert_a_JLAN_filesystem&amp;diff=132&amp;oldid=prev</id>
		<title>Tommygonk at 15:47, 14 January 2019</title>
		<link rel="alternate" type="text/html" href="http://filesys.org/wiki/index.php?title=How_to_convert_a_JLAN_filesystem&amp;diff=132&amp;oldid=prev"/>
		<updated>2019-01-14T15:47:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 15:47, 14 January 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;JFileServer is a fork of the JLAN code with many changes to bring the code up to date and continue development of the virtual filesystem file server.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;JFileServer is a fork of the JLAN code with many changes to bring the code up to date and continue development of the virtual filesystem file server.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In this article we will convert the sample filesystem driver that comes with JLAN over to the new JFileServer code. That is the JavaFileDiskDriver, JavaFileSearchContext and JavaNetworkFile classes in the org.alfresco.jlan.smb.server.disk package.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In this article we will convert the sample filesystem driver that comes with JLAN over to the new JFileServer code. That is the JavaFileDiskDriver, JavaFileSearchContext and JavaNetworkFile classes in the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;org.alfresco.jlan.smb.server.disk&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;package.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The JLAN code uses Java packages starting with org.alfresco.jlan whereas JFileServer has repackaged the code into the org.filesys packages. In the three source files replace 'org.alfresco.jlan' with 'org.filesys' in the imports sections. In the JavaNetworkFile.java file the imports section should now look like this :-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The JLAN code uses Java packages starting with &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;org.alfresco.jlan&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;whereas JFileServer has repackaged the code into the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;org.filesys&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'' &lt;/ins&gt;packages. In the three source files replace &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;'org.alfresco.jlan&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;' with &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;'org.filesys&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;' in the imports sections. In the JavaNetworkFile.java file the imports section should now look like this :-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  import java.io.File;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  import java.io.File;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tommygonk</name></author>
		
	</entry>
	<entry>
		<id>http://filesys.org/wiki/index.php?title=How_to_convert_a_JLAN_filesystem&amp;diff=2&amp;oldid=prev</id>
		<title>Tommygonk: Created page with &quot;JFileServer is a fork of the JLAN code with many changes to bring the code up to date and continue development of the virtual filesystem file server.  In this article we will...&quot;</title>
		<link rel="alternate" type="text/html" href="http://filesys.org/wiki/index.php?title=How_to_convert_a_JLAN_filesystem&amp;diff=2&amp;oldid=prev"/>
		<updated>2018-12-23T10:04:11Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;JFileServer is a fork of the JLAN code with many changes to bring the code up to date and continue development of the virtual filesystem file server.  In this article we will...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;JFileServer is a fork of the JLAN code with many changes to bring the code up to date and continue development of the virtual filesystem file server.&lt;br /&gt;
&lt;br /&gt;
In this article we will convert the sample filesystem driver that comes with JLAN over to the new JFileServer code. That is the JavaFileDiskDriver, JavaFileSearchContext and JavaNetworkFile classes in the org.alfresco.jlan.smb.server.disk package.&lt;br /&gt;
&lt;br /&gt;
The JLAN code uses Java packages starting with org.alfresco.jlan whereas JFileServer has repackaged the code into the org.filesys packages. In the three source files replace 'org.alfresco.jlan' with 'org.filesys' in the imports sections. In the JavaNetworkFile.java file the imports section should now look like this :-&lt;br /&gt;
&lt;br /&gt;
 import java.io.File;&lt;br /&gt;
 import java.io.FileOutputStream;&lt;br /&gt;
 import java.io.IOException;&lt;br /&gt;
 import java.io.RandomAccessFile;&lt;br /&gt;
 &lt;br /&gt;
 import org.filesys.server.filesys.AccessMode;&lt;br /&gt;
 import org.filesys.server.filesys.DiskFullException;&lt;br /&gt;
 import org.filesys.server.filesys.NetworkFile;&lt;br /&gt;
 import org.filesys.smb.SeekType;&lt;br /&gt;
&lt;br /&gt;
In JLAN the main DiskInterface filesystem interface has the method int fileExists(SrvSession sess, TreeConnection tree, String name), in JFileServer this has changed to use an enum class for the return value - FileStatus fileExists(SrvSession sess, TreeConnection tree, String name).&lt;br /&gt;
&lt;br /&gt;
In the JavaFileDiskDriver.java file change the method signature for the fileExists(...) method to return a FileStatus enum value.&lt;br /&gt;
&lt;br /&gt;
In JFileServer the NetworkFile class now uses enum classes for the access type and flags values, via the NetworkFile.Access and NetworkFile.Flags enum inner classes.&lt;br /&gt;
&lt;br /&gt;
We need to modify the JavaFileDiskDriver.java createFile() and openFile() methods to use the new NetworkFile.Access enum class. In the createFile() method change the call to setGrantedAccess() to :-&lt;br /&gt;
&lt;br /&gt;
 netFile.setGrantedAccess(NetworkFile.Access.READ_WRITE);&lt;br /&gt;
&lt;br /&gt;
In the openFile() method change the calls to setGrantedAccess() to :-&lt;br /&gt;
&lt;br /&gt;
 if( params.isReadOnlyAccess())&lt;br /&gt;
     netFile.setGrantedAccess( NetworkFile.Access.READ_ONLY);&lt;br /&gt;
 else&lt;br /&gt;
     netFile.setGrantedAccess( NetworkFile.Access.READ_WRITE);&lt;br /&gt;
&lt;br /&gt;
In the JavaNetworkFile.java module openFile() method we need to change the call to create the RandomAccessFile to :-&lt;br /&gt;
&lt;br /&gt;
 m_io = new RandomAccessFile( m_file, getGrantedAccess() == NetworkFile.Access.READ_WRITE ? &amp;quot;rw&amp;quot; : &amp;quot;r&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
The JLAN filesystem driver should now compile against the JFileServer classes. Converting a JLAN filesystem to the new JFileServer code is fairly straighforward.&lt;/div&gt;</summary>
		<author><name>Tommygonk</name></author>
		
	</entry>
</feed>