grouper/contrib/load/groupmgr .cvsignore,1.1,NONE README,1.9,NONE

0 views
Skip to first unread message

blair christensen

unread,
Dec 16, 2005, 4:08:19 PM12/16/05
to grouper...@listhost.uchicago.edu, grouper...@googlegroups.com
Update
of /home/cvs/i2mi/grouper/contrib/load/groupmgr
In directory ellis.internet2.edu:/home/blair/tmp/tmpdir/cvs-serv8987

Removed Files:
.cvsignore README build.xml groupmgr.java
Log Message:
deprecated and relocated

--- contrib/load/groupmgr/README
+++ /dev/null
@@ -1,50 +0,0 @@
-
-# Program to add and delete groups and memberships.
-
-This code was contributed by The University Of Chicago.
-
-$Id: README,v 1.9 2005/06/16 17:43:55 blair Exp $
-
----
-
-## Build
-
- % cd $GROUPER_BASE/load/groupmgr
- % ant
-
---
-
-## Run
-
- % cd $GROUPER_BASE/load/groupmgr
- % export CLASSPATH=.:/path/to/Grouper.jar:/path/to/Grouper-lib.jar:/path/to/grouper/conf/dir
- % java groupmgr -h
-
-Add a top-level namespace _test_:
-
- % java groupmgr -a -n -s Grouper.NS_ROOT -e test
-
-Add a group within _test_:
-
- % java groupmgr -a -g -s test -e foo
-
-Remove a group within _test_:
-
- % java groupmgr -d -g -s test -e bar
-
-Add a member:
-
- % java groupmgr -a -m johndoe -s -test -e foo
-
-Add a group as a member:
-
- % java groupmgr -a -G -m test:baz -s -test -e foo
-
-Delete a member
-
- % java groupmgr -d -m johndoe -s -test -e foo
-
-Delete a group as a member:
-
- % java groupmgr -d -G -m test:baz -s -test -e foo
-
--- contrib/load/groupmgr/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-# $Id: .cvsignore,v 1.1 2004/12/08 03:45:25 blair Exp $
-#
-*.class
--- contrib/load/groupmgr/groupmgr.java
+++ /dev/null
@@ -1,461 +0,0 @@
-/*
- * Copyright (C) 2004-2005 The University Of Chicago
- * All Rights Reserved.
- *
- * You may use and distribute under the same terms as Grouper itself
- */
-
-
-import edu.internet2.middleware.grouper.*;
-import edu.internet2.middleware.subject.*;
-
-import org.apache.commons.cli.*;
-
-
-/**
- * Program to add and delete groups and memberships using the
- * {@link Grouper} API.
- * <p />
- * See <i>README</i> for more information.
- *
- * @author blair christensen.
- * @version $Id: groupmgr.java,v 1.16 2005/07/07 03:08:28 blair Exp $
- */
-class groupmgr {
-
- /*
- * PRIVATE CONSTANTS
- */
- private static final String NAME = "groupmgr";
-
-
- /*
- * PRIVATE CLASS VARIABLES
- */
- private static boolean actUponG;
- private static boolean actUponM;
- private static boolean actUponNS;
- private static CommandLine cmd;
- private static String extn;
- private static GrouperMember mem;
- private static String member;
- private static boolean memberIsGroup = false;
- private static Options options;
- private static String path;
- private static GrouperSession s;
- private static String stem;
- private static Subject subj;
- private static String subjectID;
- private static boolean toAdd;
- private static boolean toDel;
- private static boolean verbose = false;
-
-
- /*
- * PUBLIC CLASS METHODS
- */
- public static void main(String[] args) {
- _opts(args); // Parse and handle command line options
- _grouperStart(); // Initialize Grouper and start session
- boolean rv = _dispatch(); // Take action
- _grouperStop(); // And we're done. Tidy up.
- if (rv == true) {
- System.exit(0);
- } else {
- System.exit(1);
- }
- }
-
-
- /*
- * PRIVATE CLASS METHODS
- */
-
- /* (!javadoc)
- * Determine what it is that has been asked of us
- */
- private static boolean _dispatch() {
- boolean rv = false;
- if (toAdd == true) {
- if (actUponG == true) {
- rv = _groupAdd();
- } else if (actUponM == true) {
- rv = _memberAdd();
- } else if (actUponNS == true) {
- rv = _stemAdd();
- } else {
- System.err.println("No additions specified!");
- _usage();
- }
- } else if (toDel == true) {
- if (actUponG == true) {
- rv = _groupDel();
- } else if (actUponM == true) {
- rv = _memberDel();
- } else if (actUponNS == true) {
- System.err.println("Namespace deletions not supported!");
- _usage();
- } else {
- System.err.println("No deletions specified!");
- _usage();
- }
- } else {
- System.err.println("No actions specified!");
- _usage();
- }
- return rv;
- }
-
- /* (!javadoc)
- * Add a group to the registry.
- */
- private static boolean _groupAdd() {
- boolean rv = false;
- if ( (stem != null) && (extn != null) ) {
- stem = _translateRoot(stem);
- try {
- GrouperGroup g = GrouperGroup.create(
- s, stem, extn, Grouper.DEF_GROUP_TYPE
- );
- _verbose("Added group `" + g.name() + "'");
- rv = true;
- } catch (RuntimeException e) {
- System.err.println(
- "Failed to add group `" +
- GrouperGroup.groupName(stem, extn) + "': " + e
- );
- }
- }
- return rv;
- }
-
- /* (!javadoc)
- * Delete a group from the registry.
- */
- private static boolean _groupDel() {
- boolean rv = false;
- if ( (stem != null) && (extn != null) ) {
- stem = _translateRoot(stem);
- GrouperGroup g = GrouperGroup.load(
- s, stem, extn, Grouper.DEF_GROUP_TYPE
- );
- if (g != null) {
- try {
- GrouperGroup.delete(s, g);
- _verbose("Deleted group `" + g.name() + "'");
- rv = true;
- } catch (RuntimeException e) {
- System.err.println("FUCK! " + e);
- }
- }
- }
- if (rv != true) {
- System.err.println(
- "Failed to delete group `" +
- GrouperGroup.groupName(stem, extn) + "'"
- );
- }
- return rv;
- }
-
- /* (!javadoc)
- * Initialize the {@link Grouper} environment and start a
- * {@link GrouperSession}.
- */
- private static void _grouperStart() {
- _subject();
- s = GrouperSession.start(subj);
- _verbose(
- "Started session as " +
- subj.getId() + ":" +
- subj.getType().getName()
- );
- mem = GrouperMember.load(s, subj);
- _verbose("Loaded member " + mem.subjectID() + ":" + mem.typeID());
- }
-
- /* (!javadoc)
- * Stop the {@link Grouper} session.
- */
- private static void _grouperStop() {
- s.stop();
- }
-
- /* (!javadoc)
- * Add a member to the registry.
- */
- private static boolean _memberAdd() {
- boolean rv = false;
- if ( (stem != null) && (extn != null) && (mem != null) ) {
- stem = _translateRoot(stem);
- GrouperMember m = null;
- String sid = null;
- String stid = null;
- if (memberIsGroup) {
- GrouperGroup mg = GrouperGroup.loadByName(s, member);
- if (mg != null) {
- sid = mg.id();
- stid = "group";
- }
- } else {
- sid = member;
- stid = Grouper.DEF_SUBJ_TYPE;
- }
- try {
- // Load the member
- m = GrouperMember.load(s, sid, stid);
- // Load the group
- GrouperGroup g = GrouperGroup.load(s, stem, extn);
- if (g != null) {
- try {
- g.listAddVal(m);
- rv = true;
- _verbose("Added `" + member + "' to `" + g.name() + "'");
- } catch (RuntimeException e) {
- System.err.println(e.getMessage());
- }
- }
- } catch (SubjectNotFoundException e) {
- throw new RuntimeException(e.getMessage());
- }
- }
- if (rv != true) {
- System.err.println(
- "Failed to add `" + member + "' to `" +
- GrouperGroup.groupName(stem, extn) + "'"
- );
- }
- return rv;
- }
-
- /* (!javadoc)
- * Delete a member from the registry.
- */
- private static boolean _memberDel() {
- boolean rv = false;
- if ( (stem != null) && (extn != null) && (mem != null) ) {
- stem = _translateRoot(stem);
- GrouperMember m = null;
- String sid = null;
- String stid = null;
- if (memberIsGroup) {
- GrouperGroup mg = GrouperGroup.loadByName(s, member);
- if (mg != null) {
- sid = mg.id();
- stid = "group";
- }
- } else {
- sid = member;
- stid = Grouper.DEF_SUBJ_TYPE;
- }
- try {
- // Load the member
- m = GrouperMember.load(s, sid, stid);
- // Load the group
- GrouperGroup g = GrouperGroup.load(s, stem, extn);
- if (g != null) {
- try {
- g.listDelVal(m);
- rv = true;
- _verbose("Deleted `" + member + "' from `" + g.name() + "'");
- } catch (RuntimeException e) {
- System.err.println(e.getMessage());
- }
- }
- } catch (SubjectNotFoundException e) {
- throw new RuntimeException(e.getMessage());
- }
- }
- if (rv != true) {
- System.err.println(
- "Failed to delete `" + member + "' from `" +
- GrouperGroup.groupName(stem, extn) + "'"
- );
- }
- return rv;
- }
-
- /* (!javadoc)
- * Handle command line options.
- */
- private static void _opts(String[] args) {
- _optsParse(args); // Parse CLI options
- _optsProcess(); // Handle CLI options
- }
-
- /* (!javadoc)
- * Parse command line options.
- * <p />
- * @param String array.
- */
- private static void _optsParse(String[] args) {
- options = new Options();
- options.addOption("a", false, "Add Mode");
- options.addOption("d", false, "Delete Mode");
- OptionBuilder.hasArg();
- OptionBuilder.withArgName("extension");
- OptionBuilder.withDescription("Specify extension to act upon");
- options.addOption( OptionBuilder.create("e") );
- options.addOption("G", false, "Treat argument to -m as a group name");
- options.addOption("g", false, "Act upon a group");
- options.addOption("h", false, "Print usage information");
- OptionBuilder.hasArg();
- OptionBuilder.withArgName("member");
- OptionBuilder.withDescription("Specify member to act upon");
- options.addOption( OptionBuilder.create("m") );
- options.addOption("n", false, "Act upon a namespace");
- OptionBuilder.hasArg();
- OptionBuilder.withArgName("subject");
- OptionBuilder.withDescription("Specify subject to act as");
- options.addOption( OptionBuilder.create("S") );
- OptionBuilder.hasArg();
- OptionBuilder.withArgName("stem");
- OptionBuilder.withDescription("Specify stem to act upon");
- options.addOption( OptionBuilder.create("s") );
- options.addOption("v", false, "Be more verbose");
- CommandLineParser parser = new PosixParser();
- try {
- cmd = parser.parse(options, args);
- } catch (ParseException e) {
- System.err.println("Unable to parse command line options: " + e.getMessage());
- System.exit(1);
- }
- }
-
- /* (!javadoc)
- *
- * Process command line options.
- */
- private static void _optsProcess() {
- if (cmd == null) {
- System.err.println("Error parsing command line options!");
- System.exit(1);
- }
- // Handle help first
- if (cmd.hasOption("h")) {
- _usage();
- System.exit(0);
- }
- // And then verbose because it may affect output later in this
- // method
- if (cmd.hasOption("v")) {
- verbose = true;
- _verbose("Enabling verbose mode");
- }
- // And now everything else
- if (cmd.hasOption("a")) {
- toAdd = true;
- _verbose("Enabling add mode");
- }
- if (cmd.hasOption("d")) {
- toDel = true;
- _verbose("Enabling delete mode");
- }
- if (cmd.hasOption("e")) {
- extn = cmd.getOptionValue("e");
- _verbose("Using extension '" + extn + "'");
- }
- if (cmd.hasOption("G")) {
- memberIsGroup = true;
- _verbose("Will treat -m value as a group");
- }
- if (cmd.hasOption("g")) {
- actUponG = true;
- _verbose("Will act upon a group");
- }
- if (cmd.hasOption("m")) {
- actUponM = true;
- member = cmd.getOptionValue("m");
- _verbose("Will act upon a member `" + member + "'");
- }
- if (cmd.hasOption("n")) {
- actUponNS = true;
- _verbose("Will act upon a namespace");
- }
- if (cmd.hasOption("S")) {
- subjectID = cmd.getOptionValue("S");
- _verbose("Using subjectID '" + subjectID + "'");
- }
- if (cmd.hasOption("s")) {
- stem = cmd.getOptionValue("s");
- _verbose("Using stem '" + stem + "'");
- }
- }
-
- /* (!javadoc)
- * Add a group to the registry.
- */
- private static boolean _stemAdd() {
- boolean rv = false;
- if ( (stem != null) && (extn != null) ) {
- stem = _translateRoot(stem);
- try {
- GrouperStem ns = GrouperStem.create(s, stem, extn);
- _verbose("Added stem `" + ns + "'");
- rv = true;
- } catch (RuntimeException e) {
- System.err.println(
- "Failed to add stem `" +
- GrouperGroup.groupName(stem, extn) + "': " + e
- );
- }
- }
- return rv;
- }
-
- /* (!javadoc)
- * Instantiate a subject via the {@link Subject} interface.
- */
- private static void _subject() {
- if (subjectID == null) {
- _verbose("Using default subjectID");
- subjectID = Grouper.config("member.system");
- if (subjectID == null) {
- System.err.println("Unable to retrieve default subjectID!");
- System.exit(1);
- }
- }
- _verbose("Using default subjectTypeID (" + Grouper.DEF_SUBJ_TYPE + ")");
- _verbose("Looking up subjectID '" + subjectID + "'");
- try {
- subj = SubjectFactory.getSubject(subjectID, Grouper.DEF_SUBJ_TYPE);
- } catch (SubjectNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
- /* (!javadoc)
- * Interpolate, if necessary, the namespace root
- */
- private static String _translateRoot(String stem) {
- // TODO Bah. I have to interpolate.
- if (stem.equals("Grouper.NS_ROOT")) {
- stem = Grouper.NS_ROOT;
- }
- return stem;
- }
-
- /* (!javadoc)
- *
- * Print usage information.
- */
- private static void _usage() {
- HelpFormatter formatter = new HelpFormatter();
- formatter.printHelp(NAME, options);
- }
-
- /* (!javadoc)
- *
- * Conditionally print messages depending upon verbosity level.
- * <p />
- * @param msg Message to print if running verbosely.
- */
- private static void _verbose(String msg) {
- if (verbose == true) {
- System.err.println(msg);
- }
- }
-
-}
-
--- contrib/load/groupmgr/build.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<!-- $Id: build.xml,v 1.1 2004/12/08 03:45:25 blair Exp $ -->
-
-<project name="groupmgr" default="build" basedir=".">
-
- <!-- set global properties for this build -->
- <property name="app.name" value="groupmgr"/>
- <property name="src" location="${basedir}"/>
- <property name="grouper.basedir" location="../../.."/>
- <property name="build" location="${basedir}"/>
-
- <target name="init">
- <tstamp />
- <mkdir dir="${build}" />
- <!-- only define our classpath once -->
- <path id="project.class.path">
- <pathelement path="${classpath}"/>
- <!-- for configuration files -->
- <pathelement path="${grouper.basedir}/conf/"/>
- <fileset dir="${grouper.basedir}/java/lib">
- <include name="**/*.jar"/>
- </fileset>
- <pathelement location="${grouper.basedir}/build/grouper/"/>
- </path>
- </target>
-
- <target name="build">
- <javac srcdir="${src}" destdir="${build}">
- <classpath refid="project.class.path" />
- <include name="${app.name}.java" />
- </javac>
- </target>
-
- <target name="clean" description="clean up" >
- <delete file="${build}/${app.name}.class" />
- </target>
-
-</project>
-

Reply all
Reply to author
Forward
0 new messages