]> err.no Git - scalable-opengroupware.org/commitdiff
added a small test tool to get an email for a uid
authorhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 7 Jul 2005 09:25:26 +0000 (09:25 +0000)
committerhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 7 Jul 2005 09:25:26 +0000 (09:25 +0000)
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@680 d1b88da0-ebda-0310-925b-ed51d893ca5b

SOGo/SoObjects/SOGo/AgenorUserManager.m
SOGo/SoObjects/SOGo/ChangeLog
SOGo/SoObjects/SOGo/GNUmakefile
SOGo/SoObjects/SOGo/GNUmakefile.preamble
SOGo/SoObjects/SOGo/Version
SOGo/SoObjects/SOGo/agenor_email2uid.m [new file with mode: 0644]

index c73b6935bf7794b2758e103eb62e875c17e788be..a71cf1779373c6f1da0f0d99a61cf42bd50284c2 100644 (file)
@@ -579,4 +579,14 @@ static NSString *defaultMailDomain   = @"equipement.gouv.fr";
   return debugOn;
 }
 
+/* description */
+
+- (NSString *)description {
+  NSMutableString *ms;
+  
+  ms = [NSMutableString stringWithCapacity:16];
+  [ms appendFormat:@"<0x%08X[%@]>", self, NSStringFromClass([self class])];
+  return ms;
+}
+
 @end /* AgenorUserManager */
index c89cf327c4fe4a0fbc3ada6cb23be5ba16c0d6c3..82084cda43a400b063f6c1def8b668fd456f8f97 100644 (file)
@@ -1,3 +1,10 @@
+2005-07-07  Helge Hess  <helge.hess@opengroupware.org>
+
+       * AgenorUserManager.m: added a simple -description method (v0.9.38)
+
+       * added agenor_email2uid.m tool to check whether the email=>uid mapping
+         in AgenorUserManager works
+         
 2005-07-06  Marcus Mueller  <znek@mulle-kybernetik.com>
 
        * v0.9.37
index d68deca6335553190ca636ffe96b37976a13badf..1a00ae0288861c0009fac737474f5109a5f42658 100644 (file)
@@ -6,6 +6,7 @@ include $(GNUSTEP_MAKEFILES)/common.make
 -include ./Version
 
 LIBRARY_NAME = libSOGo
+TOOL_NAME = agenor_email2uid
 
 libSOGo_SOVERSION=$(MAJOR_VERSION).$(MINOR_VERSION)
 
@@ -42,6 +43,14 @@ libSOGo_OBJC_FILES = \
        AgenorUserManager.m             \
        NSObject+AptComparison.m        \
 
+# tools
+
+agenor_email2uid_OBJC_FILES += \
+       agenor_email2uid.m      \
+       AgenorUserManager.m     \
+       SOGoLRUCache.m          \
+
 -include GNUmakefile.preamble
 include $(GNUSTEP_MAKEFILES)/library.make
+include $(GNUSTEP_MAKEFILES)/tool.make
 -include GNUmakefile.postamble
index 98a8e98162a94e8393844e059da3255696c422ad..a5b5273616013c038d6224a97dbcb8762196e2d1 100644 (file)
@@ -1,4 +1,4 @@
-# $Id$
+# compilation settings
 
 libSOGo_INCLUDE_DIRS += -I.. -I../../..
 
@@ -22,4 +22,7 @@ libSOGo_LIBRARIES_DEPEND_UPON += \
        -lNGMime                \
        -lNGStreams -lNGExtensions -lEOControl \
        -lXmlRpc -lDOM -lSaxObjC \
-  -lNGLdap
+       -lNGLdap
+
+agenor_email2uid_TOOL_LIBS += \
+       -lNGLdap
index e46a17bd648ca8ba0c2687d047e04b9869008839..4797ab0b967e893a82056992ca52d38d34ac8686 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=37
+SUBMINOR_VERSION:=38
 
 # v0.9.34 requires libGDLContentStore v4.5.26
 # v0.9.26 requires libOGoContentStore v0.9.13
diff --git a/SOGo/SoObjects/SOGo/agenor_email2uid.m b/SOGo/SoObjects/SOGo/agenor_email2uid.m
new file mode 100644 (file)
index 0000000..09c36c3
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+  Copyright (C) 2005 SKYRIX Software AG
+
+  This file is part of OpenGroupware.org.
+
+  OGo is free software; you can redistribute it and/or modify it under
+  the terms of the GNU Lesser General Public License as published by the
+  Free Software Foundation; either version 2, or (at your option) any
+  later version.
+
+  OGo is distributed in the hope that it will be useful, but WITHOUT ANY
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+  License for more details.
+
+  You should have received a copy of the GNU Lesser General Public
+  License along with OGo; see the file COPYING.  If not, write to the
+  Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+  02111-1307, USA.
+*/
+
+#include "AgenorUserManager.h"
+#include "common.h"
+
+static void usage(NSArray *args) {
+  fprintf(stderr, "usage: %s <uid1> <uid2> <uid3>\n",
+         [[args objectAtIndex:0] cString]);
+}
+
+static void doIt(NSArray *args) {
+  AgenorUserManager *userManager;
+  NSEnumerator *e;
+  NSString     *email;
+  
+  if ([args count] < 2) {
+    usage(args);
+    return;
+  }
+  
+  userManager = [AgenorUserManager sharedUserManager];
+  NSLog(@"We are using user manager: %@", userManager);
+  
+  e = [args objectEnumerator];
+  [e nextObject]; /* consume the command name */
+
+  while ((email = [e nextObject]) != nil) {
+    NSString *uid;
+    
+    uid = [userManager getUIDForEmail:email];
+    
+    if ([uid isNotNull])
+      printf("%s: %s\n", [email cString], [uid cString]);
+    else {
+      fprintf(stderr, "ERROR: did not find uid for email: '%s'\n", 
+             [email cString]);
+    }
+  }
+}
+
+int main(int argc, char **argv, char **env) {
+  NSAutoreleasePool *pool;
+  
+  pool = [[NSAutoreleasePool alloc] init];
+#if LIB_FOUNDATION_LIBRARY
+  [NSProcessInfo initializeWithArguments:argv count:argc environment:env];
+#endif
+  
+  doIt([[NSProcessInfo processInfo] argumentsWithoutDefaults]);
+  
+  [pool release];
+  return 0;
+}