This is the initial cvs->esftp->svn import

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@2 c4a304b6-5019-0410-96c4-cb02a044fac7
This is the restart of development for Esftp, it includes some fixes, notably:

- A new FilterWriter object which can filter output and direct it to the system console, so you can filter the text you want from the text you don't, it's not fully implemented or tested and it's not for end users, it's mainly for developers who want control over the masses of text that COULD be output during development of Esftp

- A new authentication protocol is now possible: Keyboard Authentication is now possible using a new code path and this works with "default" servers, there might be some servers who's prompts whilst logging in are DIFFERENT than the default ones, so this might not work exclusively and require fixes for each server you approach, or maybe a tab in the configuration dialog which allows configuration of how to reply to each prompt. THIS IS GOOD NEWS TO THOSE WHO WANTED TO USE ESFTP WITH SERVERS WHICH HAVE PASSWORDAUTHENTICATION TURNED OFF

- Also there are icons which I believe was not available in the last version made available

I have changed the class namespace from org.kmem.kosh to com.antimatterstudios because it's the new and more permanent home for all my java sources.

Enjoy

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@4 c4a304b6-5019-0410-96c4-cb02a044fac7
fucking eclipse keeps resetting the filename to lower case, which breaks the plugin, so I am putting it here so I can sync it

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@6 c4a304b6-5019-0410-96c4-cb02a044fac7
fucking eclipse changes the filename case, so it buggers up the plugin

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@7 c4a304b6-5019-0410-96c4-cb02a044fac7
.classpath:
- added the ftp4che.jar file

META-INF/MANIFEST.MF:
- updated the file to use UPPER CASE characters instead of lower case for the filenames of MANIFEST.MF, manifest.mf breaks eclipse

lib/:
- added ftp4che.jar
- added LGPL licence

plugin.xml:
- change the options for the extension "org.eclipse.ui.propertyPages" to add the property Adaptable="true" which makes the plugin work in the Java package manager

com/antimatterstudios/esftp/action/*:
- add all these files to the new SVN repo

com/antimatterstudios/esftp/directory/*:
- add all these files to the new SVN repo

com/antimatterstudios/esftp/properties/:
- There is a new preferences system being used in esftp which eliminates the complexity of the old system, this system uses the DefaultScope, InstanceScope and ProjectScope system to obtain, set and inherit properties.
- This new code allows me to reset to defaults and have the scope above me, override my settings (ProjectScope is overriden by InstanceScope, which is overridden by DefaultScope)
- Changes will have to be made with this code though to allow automatic inheritance of values, it's a small API change, change one set of API calls, to another.

com/antimatterstudios/esftp/properties/EsftpPreferences.java:
- This is the base for both Project and Workspace preferences, it is ultimately the same code for both, with the inheriting classes providing extra functionality where they need it (like the scope object they create)
- This code is going to change again, when I get around to implementing the inheritance system, which will require a change in how preferences are get and set, but ultimately it's just the methods which will change, the implementation and systems it uses, will be the same

com/antimatterstudios/esftp/properties/ProjectPreferences.java:
- creates a ProjectScope node to store preferences inside
- restoreDefaults, a method to restore the default preferences for this node

com/antimatterstudios/esftp/properties/WorkspacePreferences.java:
- creates a InstanceScope node to store preferences inside
- restoreDefaults, a method to restore the default preferences for this node

com/antimatterstudios/esftp/properties/IProperty.Java:
- added LGPL header
- added PROTOCOL tag

com/antimatterstudios/esftp/fieldeditors/*:
- remove these files, they are not necessary anymore

com/antimatterstudios/esftp/Activator.java:
- added a new parameter to the activator to store the version number of the plugin, this information is read directly from the plugin information
- method initaliseDefaultPreferences (don't confuse with intializeDefaultPreferences) to set the defaults which are used if a project or workspace is reset back to defaults
- method initalizeDefaultPreferences, removed because it was from the old method of initialising plugin preferences
- method setDefaultPreferences, removed also, because it was outdated
- method start(), added the ability to read the plugin version from the plugin information directly
- method start(), calls to initaliseDefaultPreferences to setup the defaults
- method setVersion(), added to set the version string for the plugin
- method getVersion(), added to allow other classes to obtain the version string

com/antimatterstudios/esftp/Transfer.java:
- method isDirectory(), abstract method added to the base transfer class
- method test(), taken from TransferSSHTools because it's actually generic and can be reused

com/antimatterstudios/esftp/TransferDetails.java:
- changed all instances PropertyStore m_store to the new EsftpPreferences class
- changed all uses of ProjectPropertyStore to the new ProjectPreferences class
- removed some old commented out code

com/antimatterstudios/esftp/TransferFTP.java:
- first implementation of a FTP object, uses all the functionality of ftp4che

com/antimatterstudios/esftp/TransferSSHTools.java:
- open(), added some debugging
- close(), added assigning the objects to null after they are closed (free up the memory if the GC allows it
- isFile(), removed some old debugging
- test(), removed, the method was moved to the class Transfer

com/antimatterstudios/esftp/ui/Project.java:
- changed all uses of the class ProjectPropertyStore to the new ProjectPreferences
- performOK, method UserInterface::close() doesnt take a PropertyStore argument anymore, this was found to be quite stupid, since you already have the PropertyStore object inside the UserInterface object from when it was constructed, so I am not sure why I passed this in here, I guess it was from the old-old-old code
- performDefaults, the new Preferences code has split the resetting of object defaults and interface displaying those defaults into two, which is better from a clarity POV, so we restoreDefaults on both the preferences and the userinterface separately now
- performCancel, because the new system doesnt require setting the old settings back in the event of a cancel, this method was removed

com/antimatterstudios/esftp/ui/Workbench.java:
- changed all uses of the class WorkbenchPropertyStore with the new WorkspacePreferences
- createContents, maybe I am thinking to refactor this and the Project class together into a super class if possible
- performOK, again, same as Project.java, this method doesnt need a PropertyStore object anymore
- performDefaults, same as Project.java
- performCance, same as Project.java



git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@9 c4a304b6-5019-0410-96c4-cb02a044fac7
fixed a bug where the font colour would not apply to the text, now it applies the correct font colours depending on what was specified

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@10 c4a304b6-5019-0410-96c4-cb02a044fac7
now applies the correct font colours to messages that are output to the console after the transfer has completed

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@11 c4a304b6-5019-0410-96c4-cb02a044fac7
removed the java5 generics from the code here, it wouldnt be possible to use with java 1.4 with this code, so better to remove it and be more compatible

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@12 c4a304b6-5019-0410-96c4-cb02a044fac7
Activator.java:
- removed all the java generics (big mistake to add it)
- removed the FilterWriter, which was a port of my other logging code from fusion where I could redirect a single output stream to multiple output destinations, at the end, it wasnt necessary to use it for anything
- changed method, InitialiseDefaultPreferences now creates the default preferences more in line with the brand new preferences subsystem which esftp has
- changed method, getImageDescriptor where it will now get the path and all the other relevant details of the image before using it
- changed method, getTransfer, where it will return a object which deals with the various protocols depending on the type of protocol asked for with the current transfer
- changed method, add, where it'll pass the transfer object the protocol requested for this particular transfer and only proceed if you get a valid object in return (stops the NPE I had in this area)


git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@13 c4a304b6-5019-0410-96c4-cb02a044fac7
new transfer class for normal FTP operations, it's based on the edtftpj library and it's very nice, LGPL too, I can see a possible extension for SSL/TLS encryption here

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@14 c4a304b6-5019-0410-96c4-cb02a044fac7
this is the package for the site browser and other user interface objects, most of the objects are concerned with the site browser and it's many objects, these are used to coordinate clicking items inside the tree, selecting and performing actions on them, also obtaining the child items in order to dynamically populate the list.

it's all very complex, but here is the base code

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@15 c4a304b6-5019-0410-96c4-cb02a044fac7
FilterWriter.java:
- removed because it just wasnt used for anything useful

TransferFTP.java:
- removed because it was replaced with TransferEdtFTP object

TransferFTP4CHE.java:
- removed because the FTP4CHE library is crap

TransferDetails.java:
- new method, getProtocol, so that the protocol that was requested would be used to transfer the files
- updated getSiteRoot, but I am not sure whether these changes are a good idea, I basically thought that added a forward slash would help

TransferSSHTools.java:
- update createRemoteDirectory, fix a bug where the site root of a project, if it doesnt exist, would not be created even though any subdirectories of any existing site root WOULD be created, updated the code to walk the site root section by section and create any missing directories leading to the site root, of course, this would only work if the user has permissions to create those directories in the locations that are required.
- updated attemptPasswordAuthentication, to output some information to the console
- updated attemptKeyboardAuthentication, to output some information to the console
- updated transfer, to use the site root correctly.
- updated TransferMonitor::progressed to more accurately calculate the percentage complete and transfer this information to the Transfer class to update eclipse, there was a bug here where previously it would update incrementally, but would pass back an absolute percentage value instead.

Transfer.java:
- remove all references to FilterWriter
- update all the uses of the FileList messages
- update TransferItems, remove the use of setDirectories before transferring, now we just transfer all items using absolute paths (or relative, whatever we are given)
- update TransferItems to show more output to the console based on errors which occured during transfer
- removed all use of java's generics, so be compatible with java 1.4
- update interpretBytes, fix a bug where the specifier for what teh number is, whether it's "b", "KB", "MB" or "GB" would not be reset, hence the first transfer would be ok, but the second, would automatically say you're transferring 8.4GB instead of 8.4KB or similar


git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@16 c4a304b6-5019-0410-96c4-cb02a044fac7
Project.java, Workbench.java:
- insignificant changes

UserInterface.java:
- changed the access level for all variables to protected, I am not sure why I chose private
- add support for showing FTP protocols in the user interface
- new method, showSiteBrowser, which shows the site browser interface and lets you browser the remote filesystem
- some other insignificant changes

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@17 c4a304b6-5019-0410-96c4-cb02a044fac7
Directory.java:
- update makeRelative, update it so that it properly clips the string to make it relative, this might not work
- update makeRelative to chop off any leading forward-slash

FileList.java:
- update all the static strings that are messages about file transfer status
- update optimise, so it can cancel the operation and return immediately when the cancel button is pressed instead of forcing the user to wait through the optimise step
- update optimise, so that it obtains the number of bytes to transfer, this might be useless information

LocalDirectory.java:
- update process, so that it returns a boolean, true/false, false means that the user has cancelled the operation and that the false should cascade and immediately drop out of scanning everything, so it quickly returns to the user and doesnt keep scanning (forcing the user to continue scanning until the end of the process, even though they have clicked cancel.

RemoteDirectory.java:
- update process in the same way as LocalDirectory.java
- detects if the transfer was cancelled and if so, drops out of the processing early
- update list, so that it will try three times to obtain a list of items instead of dropping out immediately, this is because sometimes servers are slow and they don't respond in time the first time, so give them three retries to get it right


git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@18 c4a304b6-5019-0410-96c4-cb02a044fac7
add the edtftpj.jar library

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@19 c4a304b6-5019-0410-96c4-cb02a044fac7
update the project manifest

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@20 c4a304b6-5019-0410-96c4-cb02a044fac7
update all the project preferences and options

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@21 c4a304b6-5019-0410-96c4-cb02a044fac7
New preferences system, based on the eclipse 3.0 preferences system, there are too many changes here to put because practically everything has changed.

Now, the preferences are properly built and they inherit from their parent the properties which are not present in the child, the external interface of the system pretty much works identically, but the internals have all changed, they use the IPreferencesService and IEclipsePreferences systems inside eclipse.

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@22 c4a304b6-5019-0410-96c4-cb02a044fac7
misc changes.

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@23 c4a304b6-5019-0410-96c4-cb02a044fac7
delete this jar file, since it's from the first attempt of doing an FTP protocol system

git-svn-id: https://esftp.svn.sourceforge.net/svnroot/esftp@24 c4a304b6-5019-0410-96c4-cb02a044fac7