Commit ff42612e authored by Adrian Damian's avatar Adrian Damian
Browse files

Merge branch 'ac2' of /srv/cadc/git/wopencadc into s1832

parents dbe9e244 ba183879
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
/bin
/bin1
/build
+112 −0
Original line number Diff line number Diff line
<!--
************************************************************************
*******************  CANADIAN ASTRONOMY DATA CENTRE  *******************
**************  CENTRE CANADIEN DE DONNÉES ASTRONOMIQUES  **************
*
*  (c) 2009.                            (c) 2009.
*  Government of Canada                 Gouvernement du Canada
*  National Research Council            Conseil national de recherches
*  Ottawa, Canada, K1A 0R6              Ottawa, Canada, K1A 0R6
*  All rights reserved                  Tous droits réservés
*                                       
*  NRC disclaims any warranties,        Le CNRC dénie toute garantie
*  expressed, implied, or               énoncée, implicite ou légale,
*  statutory, of any kind with          de quelque nature que ce
*  respect to the software,             soit, concernant le logiciel,
*  including without limitation         y compris sans restriction
*  any warranty of merchantability      toute garantie de valeur
*  or fitness for a particular          marchande ou de pertinence
*  purpose. NRC shall not be            pour un usage particulier.
*  liable in any event for any          Le CNRC ne pourra en aucun cas
*  damages, whether direct or           être tenu responsable de tout
*  indirect, special or general,        dommage, direct ou indirect,
*  consequential or incidental,         particulier ou général,
*  arising from the use of the          accessoire ou fortuit, résultant
*  software.  Neither the name          de l'utilisation du logiciel. Ni
*  of the National Research             le nom du Conseil National de
*  Council of Canada nor the            Recherches du Canada ni les noms
*  names of its contributors may        de ses  participants ne peuvent
*  be used to endorse or promote        être utilisés pour approuver ou
*  products derived from this           promouvoir les produits dérivés
*  software without specific prior      de ce logiciel sans autorisation
*  written permission.                  préalable et particulière
*                                       par écrit.
*                                       
*  This file is part of the             Ce fichier fait partie du projet
*  OpenCADC project.                    OpenCADC.
*                                       
*  OpenCADC is free software:           OpenCADC est un logiciel libre ;
*  you can redistribute it and/or       vous pouvez le redistribuer ou le
*  modify it under the terms of         modifier suivant les termes de
*  the GNU Affero General Public        la “GNU Affero General Public
*  License as published by the          License” telle que publiée
*  Free Software Foundation,            par la Free Software Foundation
*  either version 3 of the              : soit la version 3 de cette
*  License, or (at your option)         licence, soit (à votre gré)
*  any later version.                   toute version ultérieure.
*                                       
*  OpenCADC is distributed in the       OpenCADC est distribué
*  hope that it will be useful,         dans l’espoir qu’il vous
*  but WITHOUT ANY WARRANTY;            sera utile, mais SANS AUCUNE
*  without even the implied             GARANTIE : sans même la garantie
*  warranty of MERCHANTABILITY          implicite de COMMERCIALISABILITÉ
*  or FITNESS FOR A PARTICULAR          ni d’ADÉQUATION À UN OBJECTIF
*  PURPOSE.  See the GNU Affero         PARTICULIER. Consultez la Licence
*  General Public License for           Générale Publique GNU Affero
*  more details.                        pour plus de détails.
*                                       
*  You should have received             Vous devriez avoir reçu une
*  a copy of the GNU Affero             copie de la Licence Générale
*  General Public License along         Publique GNU Affero avec
*  with OpenCADC.  If not, see          OpenCADC ; si ce n’est
*  <http://www.gnu.org/licenses/>.      pas le cas, consultez :
*                                       <http://www.gnu.org/licenses/>.
*
*  $Revision: 4 $
*
************************************************************************
-->

    
<project default="build" basedir=".">

    <property environment="env"/>
    <property file="local.build.properties" />
    
    <property file="${env.A}/compilers/setup.ant.java.properties" />
    <import file="${env.A}/compilers/setup.ant.java.targets.xml"/>

    <!-- developer convenience: place for extra targets and properties -->
    <import file="extras.xml" optional="true" />

    <property file="local.build.properties" />
    
    <property name="project" value="userAdmin" />

    <!-- JAR files to be included in classpath and war file -->
    <property name="cadcAccessControl"		value="${lib}/cadcAccessControl.jar" />
    <property name="cadcAccessControl-Server"	value="${lib}/cadcAccessControl-Server.jar" />
    <property name="cadcUtil"			value="${lib}/cadcUtil.jar" />
    <property name="javaUtil"			value="${lib}/javaUtil.jar" />
    <property name="log4j"			value="${ext.lib}/log4j.jar" />
    <property name="commons-logging"		value="${ext.lib}/commons-logging.jar" />
    <property name="jconn3"			value="${ext.lib}/jconn3.jar" />
    <property name="spring"			value="${ext.lib}/spring.jar" />
    <property name="unboundid"			value="${ext.lib}/unboundid-ldapsdk-se.jar" />
    
    <property name="cadc"       value="${cadcAccessControl}:${cadcAccessControl-Server}:${cadcUtil}:${javaUtil}" />
    <property name="external"   value="${unboundid}:${spring}:${commons-logging}:${jconn3}:${log4j}" />

    <property name="jars"       value="${cadc}:${external}" />
    
    <target name="build" depends="simpleJar" />

    <!-- JAR files needed to run the test suite -->
    <property name="junit"          value="${ext.dev}/junit.jar" />
    <property name="easymock"       value="${ext.dev}/easymock.jar" />
    <property name="em_extras" value="${ext.dev}/objenesis.jar:${ext.dev}/cglib.jar:${ext.dev}/asm.jar" />

    <property name="testingJars" value="${junit}:${easymock}:${em_extras}" />
    

</project>
+5 −0
Original line number Diff line number Diff line
#!/bin/tcsh -f

source ${DEFAULT_CONFIG_DIR}/JavaSystemProps.csh || exit $status

java -Xmx128m ${JAVA_SYSTEM_PROPS} -jar ${CADC_ROOT}/lib/userAdmin.jar $*:q
+48 −0
Original line number Diff line number Diff line
package ca.nrc.cadc.ac.admin;

import java.io.PrintStream;
import java.security.Principal;
import java.security.PrivilegedAction;

import org.apache.log4j.Logger;

import ca.nrc.cadc.ac.server.PluginFactory;
import ca.nrc.cadc.ac.server.UserPersistence;

/**
 * Govern the methods that each access control admin command has to support.
 * @author yeunga
 *
 */
public abstract class AbstractCommand implements PrivilegedAction<Object>
{
    private static final Logger log = Logger.getLogger(AbstractCommand.class);

    protected PrintStream systemOut = System.out;
    protected PrintStream systemErr = System.err;
	   
    /**
     * Set the system out.
     * @param printStream
     */
    public void setSystemOut(PrintStream printStream)
    {
        this.systemOut = printStream;
    }
    
    /**
     * Set the system err.
     * @param printStream
     */
    public void setSystemErr(PrintStream printStream)
    {
        this.systemErr = printStream;
    }

    @SuppressWarnings("unchecked")
    protected <T extends Principal> UserPersistence<T> getUserPersistence()
    {
        PluginFactory pluginFactory = new PluginFactory();
        return pluginFactory.getUserPersistence();
    }
}
+32 −0
Original line number Diff line number Diff line
package ca.nrc.cadc.ac.admin;

import org.apache.log4j.Logger;

/**
 * This class approves the specified pending user by changing the user
 * from a pending user to an active user in the LDAP server.
 * @author yeunga
 *
 */
public class Approve extends AbstractCommand 
{
    private static final Logger log = Logger.getLogger(Approve.class);

	private String userID;
	
	/**
	 * Constructor
	 * @param userID Id of the pending user to be approved
	 */
    public Approve(final String userID)
    {
    	this.userID = userID;
    }
    
	@Override
	public Object run() 
	{
		// TODO Auto-generated method stub
        return new Object();
	}
}
Loading