public long getBeforeLastLogin(String userId) throws Exception { SessionProvider sProvider = SessionProvider.createSystemProvider(); try { Session session = this.getSession(sProvider); Node homeNode = session.getRootNode().getNode(HOME); return !homeNode.hasNode(userId) ? 0 : homeNode.getNode(userId).getProperty("exo:LoginHisSvc_beforeLastLogin").getLong(); } catch (Exception e) { LOG.debug("Error while retrieving " + userId + "'s last login: " + e.getMessage(), e); throw e; } finally { sProvider.close(); } } }
@Override public void processUpgrade(String oldVersion, String newVersion) { SessionProvider sessionProvider = SessionProvider.createSystemProvider(); try { Session session = sessionProvider.getSession("collaboration", repoService.getCurrentRepository()); Node rootNode = session.getRootNode(); if (rootNode.hasNode("Application Data")) { LOG.info("SecureJCRFolder - Proceed securing JCR folders for branding logo"); Node applicationDataNode = rootNode.getNode("Application Data"); Map<String, String[]> map = new HashMap<String, String[]>(); map.put("*:/platform/administrators", PermissionType.ALL); ((ExtendedNode) applicationDataNode).setPermissions(map); if (applicationDataNode.hasNode("logos/logo.png")) { Node fileNode = applicationDataNode.getNode("logos/logo.png"); if (fileNode.canAddMixin("exo:privilegeable")) { fileNode.addMixin("exo:privilegeable"); } ((ExtendedNode) fileNode).setPermission(IdentityConstants.ANY, PermissionType.DEFAULT_AC); } session.save(); } } catch (Exception e) { LOG.error("SecureJCRFolder - Error while migrating security for branding logo: ", e.getMessage()); } finally { sessionProvider.close(); } }
public Session login() throws RepositoryException { SessionProvider sessionProvider = provider.get(); if (sessionProvider == null) { sessionProvider = SessionProvider.createSystemProvider(); provider.set(sessionProvider); } return sessionProvider.getSession(getWorkspaceName(), repository); }
public Session getSession() throws LoginException, NoSuchWorkspaceException, RepositoryException { return sessionProvider.getSession(currentWorkspace, repository); }
/** * An user is inactive if his last login is more than a number of days * * @param userId user's name * @param days the number of days to verify if user is active or not * @return */ public boolean isActiveUser(String userId, int days) { SessionProvider sProvider = SessionProvider.createSystemProvider(); try { Session session = this.getSession(sProvider); Node homeNode = session.getRootNode().getNode(HOME); if (! homeNode.hasNode(userId)) { return false; } Node userNode = homeNode.getNode(userId); long beforeLastLogin = userNode.getProperty(BEFORE_LAST_LOGIN).getLong(); // return true if it's the first login of user if (beforeLastLogin == 0) return true; // Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) - days); long limitTime = cal.getTimeInMillis(); return beforeLastLogin >= limitTime; } catch (Exception e) { LOG.error("Error while get the last login of current user", e); } return false; }
public BasicAppContext(ManageableRepository rep) throws NamingException { this.sessionProvider = new SessionProvider(ConversationState.getCurrent()); this.repository = rep; this.currentWorkspace = rep.getConfiguration().getDefaultWorkspaceName(); }
try { RequestLifeCycle.begin(ExoContainerContext.getCurrentContainer()); sessionProvider = SessionProvider.createSystemProvider(); Session session = sessionProvider.getSession("portal-system", repoService.getCurrentRepository()); NodeIterator iter = session.getWorkspace().getQueryManager(). createQuery("Select * from mop:workspaceclone where mop:contentid='presentation/ParameterizedContentViewerPortlet' ", Query.SQL).execute().getNodes();
public Session getSession() throws LoginException, NoSuchWorkspaceException, RepositoryException { return sessionProvider.getSession(currentWorkspace, repository); }
SessionProvider sProvider = SessionProvider.createSystemProvider(); Node userPrivateNode = nodeCreator.getUserNode(sProvider, viewerId).getNode("Private"); if(!userPrivateNode.hasNode("Bookmarks")){
private Node getSpaceHome() throws Exception { if(this._repoService != null){ SessionProvider sProvider = null; Session session = null; try { sProvider = SessionProvider.createSystemProvider(); session = this.getSession(sProvider); Node rootNode = session.getRootNode(); if(rootNode.hasNode(SPACE_HOME)) { return rootNode.getNode(SPACE_HOME); } } catch (Exception e) { LOG.error("Can not get get SpaceHome", e); sProvider.close(); } finally { if (session != null) { session.logout(); } if (sProvider != null) { sProvider.close(); } } } return null; }
public Boolean hasDocuments(Node node, String userId) { SessionProvider sProvider = null; try { sProvider = SessionProvider.createSystemProvider(); String pathCondition = node == null ? "" : new StringBuilder(" AND jcr:path like ").append(node.getPath()).append("/%").toString(); String fileQueryStatement = new StringBuilder("SELECT * FROM nt:file WHERE exo:owner='"). append(userId).append("'").append(pathCondition).toString(); String ws = CommonsUtils.getRepository().getConfiguration().getDefaultWorkspaceName(); QueryImpl query = (QueryImpl)sProvider.getSession(ws, CommonsUtils.getRepository()). getWorkspace().getQueryManager().createQuery(fileQueryStatement, Query.SQL); query.setLimit(1); return (query.execute().getNodes().hasNext()); } catch (RepositoryException e) { LOG.error("Getting started Service : cannot check uploaded documents " + e.getLocalizedMessage(), e); return false; } finally { if (sProvider !=null) { sProvider.close(); } } }
session = SessionProvider.createSystemProvider().getSession(workspaceName, currentRepository); ((SessionImpl) session).setTimeout(TRANSACTION_TIMEOUT_IN_SECONDS);
private Session getSession(SessionProvider sessionProvider) throws Exception { ManageableRepository currentRepo = this._repoService.getCurrentRepository(); return sessionProvider.getSession(SOCIAL_WORKSPACE, currentRepo); }
SessionProvider sProvider = SessionProvider.createSystemProvider(); Node userPrivateNode = nodeCreator.getUserNode(sProvider, viewerId).getNode("Private"); if(!userPrivateNode.hasNode("Bookmarks")){
/** * Get user's last login time */ public long getLastLogin(String userId) throws Exception { SessionProvider sProvider = SessionProvider.createSystemProvider(); try { Session session = this.getSession(sProvider); Node homeNode = session.getRootNode().getNode(HOME); return !homeNode.hasNode(userId) ? 0 : homeNode.getNode(userId).getProperty("exo:LoginHisSvc_lastLogin").getLong(); } catch (Exception e) { LOG.debug("Error while retrieving " + userId + "'s last login: " + e.getMessage(), e); throw e; } finally { sProvider.close(); } }
SessionProvider sessionProvider = SessionProvider.createSystemProvider(); try { Session session = sessionProvider.getSession("collaboration", repositoryService.getCurrentRepository()); Node rootNode = session.getRootNode(); LOG.error("Branding - Error while saving the logo: ", e.getMessage()); } finally { sessionProvider.close(); ConversationState state = ConversationState.getCurrent(); String userId = (state != null) ? state.getIdentity().getUserId() : null;
private Session getJCRSession(SessionProvider sProvider, String wpName) { Session session = null; try { session = sProvider.getSession(wpName, CommonsUtils.getRepository()); } catch (RepositoryException e) { LOG.error(e); } return session; } /**
@Override public void processUpgrade(String oldVersion, String newVersion) { RequestLifeCycle.begin(PortalContainer.getInstance()); try { GroupHandler groupHandler = service.getGroupHandler(); Group spacesParentGroup = service.getGroupHandler().findGroupById("/spaces"); @SuppressWarnings("unchecked") Collection<Group> spacesGroupsList = groupHandler.findGroups(spacesParentGroup); SessionProvider sessionProvider = SessionProvider.createSystemProvider(); if (spacesGroupsList == null || spacesGroupsList.isEmpty()) { LOG.info("No space was found, no upgrade operation will be done."); return; } for (Group group : spacesGroupsList) { LOG.info("Proceed Upgrade '" + group.getId() + "' Space."); Space space = spaceStorage.getSpaceByGroupId(group.getId()); if (space == null) { LOG.warn("Cannot find space for group: " + group.getId()); continue; } LOG.info("Proceed space migration: " + group.getId()); editSpaceHomePage(space.getPrettyName(), group.getId()); } } catch (Exception e) { LOG.error("Error during spaces migration : " + e.getMessage(), e); } finally { RequestLifeCycle.end(); } }
private void createTermsAndConditions() { SessionProvider sessionProvider = SessionProvider.createSystemProvider(); try { Node publicApplicationNode = nodeHierarchyCreator.getPublicApplicationNode(sessionProvider); if(! publicApplicationNode.hasNode(TC_NODE_NAME)) { publicApplicationNode = publicApplicationNode.addNode(TC_NODE_NAME, "nt:folder"); publicApplicationNode.addMixin("mix:referenceable"); publicApplicationNode.getSession().save(); } } catch(Exception e) { LOG.error("Terms and conditions: cannot create node", e); } finally { if (sessionProvider != null) { sessionProvider.close(); } } }
SessionProvider sessionProvider = SessionProvider.createSystemProvider(); try { Session session = sessionProvider.getSession("collaboration", repositoryService.getCurrentRepository()); Node rootNode = session.getRootNode(); LOG.error("Branding - Error while saving the logo: ", e.getMessage()); } finally { sessionProvider.close(); ConversationState state = ConversationState.getCurrent(); String userId = (state != null) ? state.getIdentity().getUserId() : null;