view artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultUserFactory.java @ 140:f141ae401a00

Added a Rest resource that might be used to create new collections owned by a specific user. artifacts/trunk@1365 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 02 Mar 2011 11:48:34 +0000
parents 19267b9960c3
children bf596b83d984
line wrap: on
line source
/*
 * Copyright (c) 2010 by Intevation GmbH
 *
 * This program is free software under the LGPL (>=v2.1)
 * Read the file LGPL.txt coming with the software for details
 * or visit http://www.gnu.org/licenses/ if it does not exist.
 */

package de.intevation.artifactdatabase;

import org.apache.log4j.Logger;

import org.w3c.dom.Document;
import org.w3c.dom.Node;

import de.intevation.artifacts.User;
import de.intevation.artifacts.UserFactory;


/**
 * Default implementation of a UserFactory.
 *
 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
 */
public class DefaultUserFactory
implements   UserFactory
{
    /** The logger that is used in this factory.*/
    private static Logger logger = Logger.getLogger(DefaultUserFactory.class);


    /**
     * Default constructor.
     */
    public DefaultUserFactory() {
    }


    public void setup(Document config, Node factoryNode) {
        logger.debug("DefaultUserFactory.setup");
    }


    /**
     * This method creates a new DefaultUser with the given identifier, name and
     * role.
     *
     * @param identifier The identifier for the new user.
     * @param name The name for the new user.
     * @param role The role for the new user.
     * @param context The CallContext.
     */
    public User createUser(
        String   name,
        Document role,
        Object   context)
    {
        logger.debug("DefaultUserFactory.createUser: " + name);

        return Backend.getInstance().createUser(name, role);
    }


    /**
     * Deletes the given user.
     *
     * @param user The user to be deleted.
     * @param context The CallContext.
     */
    public void deleteUser(User user, Object context) {
        logger.debug("DefaultUserFactory.deleteUser: " + user.identifier());

        Backend.getInstance().deleteUser(user);
    }


    /**
     * Returns the user with the given identifier.
     *
     * @param identifier The identifier of a user.
     * @param context The CallContext.
     *
     * @return the user with the given identifier.
     */
    public User getUser(String identifier, Object context) {
        logger.debug("DefaultUserFactory.getUser: " + identifier);

        return Backend.getInstance().getUser(identifier);
    }


    /**
     * Returns a list of users available for this application.
     *
     * @param context The CallContext.
     *
     * @return a list of users.
     */
    public User [] getUsers(Object context) {
        logger.debug("DefaultUserFactory.getUsers");

        return Backend.getInstance().getUsers();
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org