Package org.jnode.nntp.processor

Source Code of org.jnode.nntp.processor.AuthInfoPassProcessor

package org.jnode.nntp.processor;

import com.google.common.collect.Lists;
import jnode.dto.Link;
import org.jnode.nntp.DataProvider;
import org.jnode.nntp.DataProviderImpl;
import org.jnode.nntp.Processor;
import org.jnode.nntp.exception.UnknownCommandException;
import org.jnode.nntp.model.Auth;
import org.jnode.nntp.model.NntpResponse;

import java.util.Collection;

public class AuthInfoPassProcessor implements Processor {

    private DataProvider dataProvider = new DataProviderImpl();

    @Override
    public Collection<String> process(Collection<String> params, Long selectedGroupId, Long selectedArticleId, Auth auth) {

        if (params == null || params.size() != 1) {
            throw new UnknownCommandException();
        }

        String pass = params.iterator().next();

        Link link = dataProvider.link(auth, pass);

        Collection<String> response = Lists.newLinkedList();

        if (link == null) {
            response.add(NntpResponse.AuthInfo.AUTHENTIFICATION_FAILED_OR_REJECTED);
            auth.reset();
        } else {
            auth.setLinkId(link.getId());
            response.add(NntpResponse.AuthInfo.AUTHENTIFICATION_ACCEPTED);
        }

        return response;
    }

}
TOP

Related Classes of org.jnode.nntp.processor.AuthInfoPassProcessor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.