grouper/contrib/cdg/src/cdg/com/devclue/grouper/stem

1 view
Skip to first unread message

blair christensen

unread,
Dec 16, 2005, 4:48:02 PM12/16/05
to grouper...@listhost.uchicago.edu, grouper...@googlegroups.com
Update
of /home/cvs/i2mi/grouper/contrib/cdg/src/cdg/com/devclue/grouper/stem
In directory ellis.internet2.edu:/home/blair/tmp/tmpdir/cvs-serv11088/contrib/cdg/src/cdg/com/devclue/grouper/stem

Added Files:
StemAdd.java StemQ.java
Log Message:
* mark old contrib items as deprecated
* import a modified version of cdg into contrib


--- /dev/null
+++ contrib/cdg/src/cdg/com/devclue/grouper/stem/StemAdd.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (C) 2005 blair christensen.
+ * All Rights Reserved.
+ *
+ * You may use and distribute under the same terms as Grouper itself.
+ */
+
+package com.devclue.grouper.stem;
+
+import com.devclue.grouper.session.*;
+import edu.internet2.middleware.grouper.*;
+import edu.internet2.middleware.subject.*;
+import java.util.*;
+
+/**
+ * Add stems to the Groups Registry.
+ * <p />
+ * @author blair christensen.
+ * @version $Id: StemAdd.java,v 1.1 2005/12/16 21:48:00 blair Exp $
+ */
+public class StemAdd {
+
+ /*
+ * CONSTRUCTORS
+ */
+
+ /**
+ * Create a new StemAdd object.
+ * <pre class="eg">
+ * StemAdd nsa = new StemAdd();
+ * </pre>
+ */
+ public StemAdd() {
+ // Nothing
+ } // public StemAdd()
+
+
+ /*
+ * PUBLIC CLASS METHODS
+ */
+
+ /**
+ * Add stem or root stem depending upon command line arguments.
+ * <p>Stem is printed to STDOUT if created.</p>
+ * <p>Exits with 0 if stem created, 1 otherwise.</p>
+ * <pre class="eg">
+ * // Create a root stem with the extension <i>com</i>.
+ * % java com.devclue.grouper.stem.StemAdd com
+ *
+ * // Create a stem with extension <i>example</i> within stem
+ * // <i>com</i>.
+ * % java com.devclue.grouper.stem.StemAdd com example
+ * </pre>
+ */
+ public static void main(String[] args) {
+ int ev = 1;
+ StemAdd nsa = new StemAdd();
+ Stem ns = null;
+ try {
+ if (args.length == 1) {
+ ns = nsa.addRootStem(args[0]);
+ }
+ else if (args.length == 2) {
+ ns = nsa.addStem(args[0], args[1]);
+ }
+ else {
+ System.err.println("Invalid number of arguments: " + args.length);
+ }
+ }
+ catch (RuntimeException e) {
+ System.err.println("Error creating stem: " + e.getMessage());
+ }
+ if (ns != null) {
+ ev = 0;
+ System.out.println(
+ ns.getUuid() + "," + ns.getName() + "," + ns.getDisplayName()
+ );
+ }
+ System.exit(ev);
+ } // public static void main(args)
+
+
+ /*
+ * PUBLIC INSTANCE METHODS
+ */
+
+ /**
+ * Add a root stem.
+ * <p />
+ * <pre class="eg">
+ * // Create a root stem with the extension <i>com</i>.
+ * StemAdd nsa = new StemAdd();
+ * try {
+ * Stem ns = nsa.addRootStem("com");
+ * }
+ * catch (RuntimeException e) {
+ * // Stem not created
+ * }
+ * </pre>
+ * @param extension Create root stem with this extension.
+ * @return Created stem.
+ */
+ public Stem addRootStem(String extension) {
+ try {
+ GrouperSession s = SessionFactory.getSession();
+ Stem root = StemFinder.findRootStem(s);
+ return root.addChildStem(extension, extension);
+ }
+ catch (Exception e) {
+ throw new RuntimeException(e.getMessage());
+ }
+ } // public Stem addRootStem(extension)
+
+ /**
+ * Add a stem.
+ * <pre class="eg">
+ * // Create a stem with the extension <i>example</i> within the stem
+ * // <i>com</i>.
+ * StemAdd nsa = new StemAdd();
+ * try {
+ * Stem ns = nsa.addStem("com", "example");
+ * }
+ * catch (RuntimeException e) {
+ * // Stem not created
+ * }
+ * </pre>
+ * @param stem Create stem within this stem.
+ * @param extension Create stem with this extension.
+ * @return Created stem.
+ */
+ public Stem addStem(String stem, String extension) {
+ try {
+ GrouperSession s = SessionFactory.getSession();
+ Stem parent = StemFinder.findByName(s, stem);
+ return parent.addChildStem(extension, extension);
+ }
+ catch (Exception e) {
+ throw new RuntimeException(e.getMessage());
+ }
+ } // public Stem addStem(stem, extension)
+
+}
+
--- /dev/null
+++ contrib/cdg/src/cdg/com/devclue/grouper/stem/StemQ.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2005 blair christensen.
+ * All Rights Reserved.
+ *
+ * You may use and distribute under the same terms as Grouper itself.
+ */
+
+package com.devclue.grouper.stem;
+
+import com.devclue.grouper.session.*;
+import edu.internet2.middleware.grouper.*;
+import java.util.*;
+
+/**
+ * Query for stems within the Groups Registry.
+ * <p />
+ * @author blair christensen.
+ * @version $Id: StemQ.java,v 1.1 2005/12/16 21:48:00 blair Exp $
+ */
+public class StemQ {
+
+ /*
+ * CONSTRUCTORS
+ */
+
+ /**
+ * Create a new StemQ object.
+ * <pre class="eg">
+ * StemQ sq = new StemQ();
+ * </pre>
+ */
+ public StemQ() {
+ // Nothing
+ } // public StemQ()
+
+
+ /*
+ * PUBLIC CLASS METHODS
+ */
+
+ /**
+ * Query each stem named <b>like</b> the command line arguments.
+ * <p>Stems printed to STDOUT if found.</p>
+ * <p>Exits with 0 if all stems found, 1 otherwise.</p>
+ * <pre class="eg">
+ * // Query for stems named like <i>com</i>
+ * % java com.devclue.grouper.stem.StemQ com
+ *
+ * // Query for stems named like <i>com:example</i> and
+ * // <i>org:example</i>
+ * % java com.devclue.grouper.stem.StemQ com:example org:example
+ * </pre>
+ */
+ public static void main(String[] args) {
+ int ev = 0;
+ StemQ nsq = new StemQ();
+ Iterator iter = Arrays.asList(args).iterator();
+ while (iter.hasNext()) {
+ String name = (String) iter.next();
+ Set stems = nsq.getStems(name);
+ if (stems.size() > 0) {
+ Iterator stemIter = stems.iterator();
+ while (stemIter.hasNext()) {
+ Stem ns = (Stem) stemIter.next();
+ System.out.println(
+ ns.getUuid() + "," + ns.getName() + "," + ns.getDisplayName()
+ );
+ }
+ }
+ else {
+ System.err.println("Stem not found: " + name);
+ ev = 1;
+ }
+ }
+ System.exit(ev);
+ } // public static void main(args)
+
+
+ /*
+ * PUBLIC INSTANCE METHODS
+ */
+
+ /**
+ * Perform fuzzy query for stems by <i>name</i> and <i>displayName</i>.
+ * <pre class="eg">
+ * // Query for stems named like <i>com:example</i>.
+ * StemQ sq = new StemQ();
+ * Set stems = sq.getStems("com:example");
+ * </pre>
+ * @param name Name to query on.
+ * @return Set of found stems.
+ */
+ public Set getStems(String name) {
+ try {
+ GrouperSession s = SessionFactory.getSession();
+ Stem root = StemFinder.findRootStem(s);
+ GrouperQuery gq = GrouperQuery.createQuery(
+ s,
+ new StemNameFilter(name, root)
+ );
+ return gq.getStems();
+ }
+ catch (Exception e) {
+ throw new RuntimeException(e.getMessage());
+ }
+ } // public Set getStems(name)
+
+}
+

Reply all
Reply to author
Forward
0 new messages