mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aizaz AZ (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FTPSERVER-450) PropertiesUserManager userDataFile is always NULL.
Date Fri, 18 Oct 2013 10:10:43 GMT

    [ https://issues.apache.org/jira/browse/FTPSERVER-450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13798974#comment-13798974

Aizaz AZ commented on FTPSERVER-450:

Yes exactly. It loads if from class path and reads it but when it comes to save it doesn't
load it from class path but check the "userDataFile" class variable and of course it is not
initialized and it goes back without writing the file. You can check it just save users and
it will never save them on properties file.

There are two things:
1) if "userDataFile" is null see if it exists in class path then initialize it
2) Good approach will be when user calls {code} setFile {code} on factory and then calls {code}
createFactory {code} then it should initialize it in constructor as I did.

> PropertiesUserManager userDataFile is always NULL. 
> ---------------------------------------------------
>                 Key: FTPSERVER-450
>                 URL: https://issues.apache.org/jira/browse/FTPSERVER-450
>             Project: FtpServer
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0.6
>         Environment: JDK 6
> Windows 7 64 BIT
>            Reporter: Aizaz AZ
>            Priority: Blocker
>         Attachments: FTPSERVER-450.patch, PropertiesUserManager.java
> PropertiesUserManager userDataFile is always NULL. Because you didn't set  your class
variable value equal to what you get in constructor when PropertiesUserManagerFactory calls
your constructor new PropertiesUserManager(passwordEncryptor, userDataFile, adminName); of
PropertiesUserManager,just need to do below super this.userDataFile = userDataFile; and issue
is fixed
> PropertiesUserManagerFactory propUserManagerFactory = new PropertiesUserManagerFactory();
> 		propUserManagerFactory.setFile(new File("ftpusers.properties"));
> 		propUserManagerFactory.setPasswordEncryptor(new ClearTextPasswordEncryptor());
> 		mUserManager = (PropertiesUserManager) propUserManagerFactory.createUserManager();
> 		mFTPServerFactory.setUserManager(mUserManager);
> Set file has no effect because factory will call your constructor PropertiesUserManager(passwordEncryptor,
>                     adminName)
> and you didn't set this.userDataFile = userDataFile;
> complete
>   public PropertiesUserManager(PasswordEncryptor passwordEncryptor,
>             File userDataFile, String adminName) {
>         super(adminName, passwordEncryptor);
>         this.userDataFile = userDataFile;
>         loadFromFile(userDataFile);
>     }
> Issue fixed

This message was sent by Atlassian JIRA

View raw message