Search in sources :

Example 1 with FileAuthenticationService

use of org.codelibs.fess.app.service.FileAuthenticationService in project fess by codelibs.

the class FileConfig method initializeClientFactory.

@Override
public Map<String, Object> initializeClientFactory(final CrawlerClientFactory clientFactory) {
    final FileAuthenticationService fileAuthenticationService = ComponentUtil.getComponent(FileAuthenticationService.class);
    //  Parameters
    final Map<String, Object> paramMap = new HashMap<>();
    clientFactory.setInitParameterMap(paramMap);
    final Map<String, String> clientConfigMap = getConfigParameterMap(ConfigName.CLIENT);
    if (clientConfigMap != null) {
        paramMap.putAll(clientConfigMap);
    }
    // auth params
    final List<FileAuthentication> fileAuthList = fileAuthenticationService.getFileAuthenticationList(getId());
    final List<SmbAuthentication> smbAuthList = new ArrayList<>();
    final List<FtpAuthentication> ftpAuthList = new ArrayList<>();
    for (final FileAuthentication fileAuth : fileAuthList) {
        if (Constants.SAMBA.equals(fileAuth.getProtocolScheme())) {
            final SmbAuthentication smbAuth = new SmbAuthentication();
            final Map<String, String> map = ParameterUtil.parse(fileAuth.getParameters());
            final String domain = map.get("domain");
            smbAuth.setDomain(domain == null ? StringUtil.EMPTY : domain);
            smbAuth.setServer(fileAuth.getHostname());
            smbAuth.setPort(fileAuth.getPort() == null ? -1 : fileAuth.getPort().intValue());
            smbAuth.setUsername(fileAuth.getUsername());
            smbAuth.setPassword(fileAuth.getPassword());
            smbAuthList.add(smbAuth);
        } else if (Constants.FTP.equals(fileAuth.getProtocolScheme())) {
            final FtpAuthentication ftpAuth = new FtpAuthentication();
            ftpAuth.setServer(fileAuth.getHostname());
            ftpAuth.setPort(fileAuth.getPort());
            ftpAuth.setUsername(fileAuth.getUsername());
            ftpAuth.setPassword(fileAuth.getPassword());
            ftpAuthList.add(ftpAuth);
        }
    }
    paramMap.put(SmbClient.SMB_AUTHENTICATIONS_PROPERTY, smbAuthList.toArray(new SmbAuthentication[smbAuthList.size()]));
    paramMap.put(FtpClient.FTP_AUTHENTICATIONS_PROPERTY, ftpAuthList.toArray(new FtpAuthentication[ftpAuthList.size()]));
    return paramMap;
}
Also used : FtpAuthentication(org.codelibs.fess.crawler.client.ftp.FtpAuthentication) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) FileAuthenticationService(org.codelibs.fess.app.service.FileAuthenticationService) SmbAuthentication(org.codelibs.fess.crawler.client.smb.SmbAuthentication)

Aggregations

ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 FileAuthenticationService (org.codelibs.fess.app.service.FileAuthenticationService)1 FtpAuthentication (org.codelibs.fess.crawler.client.ftp.FtpAuthentication)1 SmbAuthentication (org.codelibs.fess.crawler.client.smb.SmbAuthentication)1