From graffito-dev-return-1503-apmail-incubator-graffito-dev-archive=www.apache.org@incubator.apache.org Fri Nov 03 09:11:09 2006 Return-Path: Delivered-To: apmail-incubator-graffito-dev-archive@www.apache.org Received: (qmail 32434 invoked from network); 3 Nov 2006 09:11:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Nov 2006 09:11:08 -0000 Received: (qmail 47451 invoked by uid 500); 3 Nov 2006 09:11:14 -0000 Mailing-List: contact graffito-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: graffito-dev@incubator.apache.org Delivered-To: mailing list graffito-dev@incubator.apache.org Received: (qmail 47405 invoked by uid 99); 3 Nov 2006 09:11:14 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Nov 2006 01:11:14 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of christophe.lombart@gmail.com designates 66.249.92.175 as permitted sender) Received: from [66.249.92.175] (HELO ug-out-1314.google.com) (66.249.92.175) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Nov 2006 01:11:01 -0800 Received: by ug-out-1314.google.com with SMTP id y2so456900uge for ; Fri, 03 Nov 2006 01:10:40 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=fGyZi+kIL7NUTmtvBp2PoQa0qsuxSl3gsPTw5J7rx43EZzyjKtXhjGZwB+14u/a4EWAptteh80y6XpXtj/jqNkMzAD2maCK1ZjDAKbbbLOOP/2xcbmTik8D43DO17I1/MSpXgx+y8Jy/R515We4NCOmgOdpZKFYLxJ8wwlxo6Pw= Received: by 10.78.142.14 with SMTP id p14mr2394859hud.1162545039938; Fri, 03 Nov 2006 01:10:39 -0800 (PST) Received: by 10.78.151.16 with HTTP; Fri, 3 Nov 2006 01:10:39 -0800 (PST) Message-ID: <3b728ee90611030110j1cfe4052h92bc8c4b4983cab2@mail.gmail.com> Date: Fri, 3 Nov 2006 10:10:39 +0100 From: "Christophe Lombart" To: graffito-dev@incubator.apache.org Subject: Re: create graffito folder when a j2 user created In-Reply-To: <454A87B8.4010109@aegean.gr> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <454A87B8.4010109@aegean.gr> X-Virus-Checked: Checked by ClamAV on apache.org Are you using the default graffito permission ? Are you using the admin user to create the new user folder ? Can you send me the complete stack trace ? I'm interesting to receive the patch for this feature (even if there are some bugs). It will be easier to check your error. br, Christophe On 11/3/06, Evangelos Vlachogiannis wrote: > Hi, > > I would like to create a graffito folder when a new user is created. So > I have created a graffito service and call it from inside jetspeed > PortalAdministrationImpl.java as you can see in attachment. Could you > please tell me if I am doing something wrong as I get a graffito > permission (not sufficent perm) exception? > > thnx, > Vangelis > -- > --------------------------------------------------------------- > Evangelos Vlachogiannis > Researcher - PhD. Candidate > Contact: http://www.syros.aegean.gr/users/evlach/contactme.php > --------------------------------------------------------------- > > > Index: PortalAdministrationImpl.java > =================================================================== > --- PortalAdministrationImpl.java (revision 344) > +++ PortalAdministrationImpl.java (revision 345) > @@ -17,6 +17,7 @@ > > import java.io.FileReader; > import java.io.StringWriter; > +import java.lang.reflect.Method; > import java.security.Principal; > import java.security.PrivilegedAction; > import java.util.Collection; > @@ -53,6 +54,8 @@ > import org.apache.jetspeed.security.User; > import org.apache.jetspeed.security.UserManager; > import org.apache.jetspeed.security.UserPrincipal; > +import org.apache.jetspeed.services.JetspeedPortletServices; > +import org.apache.jetspeed.services.PortletServices; > import org.apache.velocity.VelocityContext; > import org.apache.velocity.app.VelocityEngine; > import org.springframework.mail.MailException; > @@ -259,8 +262,7 @@ > // deep copy from the default folder template tree, creating a deep-copy of the template > // in the new user's folder tree > Folder source = innerPageManager.getFolder(innerFolderTemplate); > - innerPageManager.deepCopyFolder(source, Folder.USER_FOLDER + innerUserName, innerUser); > - > + innerPageManager.deepCopyFolder(source, Folder.USER_FOLDER + innerUserName, innerUser); > return null; > } > catch (FolderNotFoundException e1) { > @@ -290,13 +292,49 @@ > log.error("Registration Error: Failed to create user folders for " + userName + ", " + pe.toString()); > throw pe; > } > - > + > + try > + { > + User theAdminUser = userManager.getUser("admin"); > + JetspeedException pe1 = (JetspeedException) Subject.doAsPrivileged(theAdminUser.getSubject(), new PrivilegedAction() > + { > + public Object run() > + { > + try > + { > + System.out.print("login fix start"); > + PortletServices services = JetspeedPortletServices.getSingleton(); > + Object userFolderService = services.getService("UserFolderService"); > + String className = userFolderService.getClass().getName(); > + Class userFolderManagerClass = Class.forName(className); > + Class[] argClasses = {String.class}; > + Object[] args = {innerUserName}; > + Method method = userFolderManagerClass.getMethod("initializeUser", argClasses); > + method.invoke(userFolderService, args); > + System.out.print("login fix end"); > + } > + catch(Exception e) > + { > + //e.printStackTrace(); > + System.out.print("login fix failed"+ e.getMessage()); > + } > + > + return null; > + } > + }, null); > + } > + catch(Exception e) > + { > + > + } > + > } > catch (Exception e) > { > log.error("Registration Error: Failed to create registered user " + userName + ", " + e.toString()); > throw new RegistrationException(e); > - } > + } > + > } > > > > >