Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (C) 2009 eXo Platform SAS.
   *
   * This 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.1 of
   * the License, or (at your option) any later version.
   *
   * This software 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 this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.services.jcr.ext.hierarchy.impl;
 
 
 import java.util.List;
 import java.util.Map;
 
 import javax.jcr.Node;

Created by The eXo Platform SAS Author : Dang Van Minh minh.dang@exoplatform.com Nov 15, 2007 11:13:12 AM
 
 public class NewUserListener extends UserEventListener
 {
    private static final Log LOG = ExoLogger.getLogger("exo.jcr.component.ext.NewUserListener");
 
    private final HierarchyConfig config_;
 
    private final RepositoryService jcrService_;
 
    
 
    public NewUserListener(RepositoryService jcrServiceNodeHierarchyCreator nodeHierarchyCreatorService,
       DataDistributionManager dataDistributionManagerInitParams paramsthrows Exception
    {
        = jcrService;
        = dataDistributionManager.getDataDistributionType(.);
       nodeHierarchyCreatorService.addPlugin(new AddPathPlugin(params));
        = nodeHierarchyCreatorService;
    }
 
    public void preSave(User userboolean isNewthrows Exception
    {
       if (isNew)
       {
       }
    }
 
    private void processUserStructure(ManageableRepository manageableRepositoryString userNamethrows Exception
    {
       SessionProvider sessionProvider = SessionProvider.createSystemProvider();
       try 
       {
          Node userNode = .getUserNode(sessionProvideruserName);
          List<JcrPathjcrPaths = .getJcrPaths();
          for (JcrPath jcrPath : jcrPaths)
          {
             createNode(userNodejcrPath.getPath(), jcrPath.getNodeType(), jcrPath.getMixinTypes(),
                jcrPath.getPermissions(userName));
          }         
       }
       catch (Exception e)
       {
          .error("An error occurs while initializing the user directory of '" + userName + "'"e);
       }
       finally
       {
          sessionProvider.close();
          sessionProvider = null;
       }
    }
 
    public void preDelete(User user)
    {
      // use a anonymous connection for the configuration as the user is not
      // authentified at that time
      SessionProvider sessionProvider = SessionProvider.createSystemProvider();
      try
      {
         .removeUserNode(sessionProvideruser.getUserName());
      }
      catch (Exception e)
      {
         .error("An error occurs while removing the user directory of '" + user.getUserName() + "'"e);
      }
      finally
      {
         sessionProvider.close();
         sessionProvider = null;
      }
   }
   private void createNode(Node userNodeString pathString nodeTypeList<StringmixinTypes,
            Map<StringString[]> permissions)
      throws Exception
   {
      .getOrCreateDataNode(userNodepathnodeTypemixinTypespermissions);
   }
New to GrepCode? Check out our FAQ X