Examples of JCRSiteNode


Examples of org.jahia.services.content.decorator.JCRSiteNode

            }
        });
    }

    public void updatePrivileges(NodeFact node) throws RepositoryException {
        final JCRSiteNode site = node.getParent().getNode().getResolveSite();
        String principal = StringUtils.substringAfter(StringUtils.substringAfterLast(node.getPath(), "/"), "_").replaceFirst("_", ":");
        if (principal.startsWith("jcr:read") || principal.startsWith("jcr:write")) {
            principal = StringUtils.substringAfter(principal,"_").replaceFirst("_", ":");
        }
        final String fPrincipal = principal;
        if (site == null) {
            return;
        }
        boolean needPrivileged = JCRTemplate.getInstance().doExecuteWithSystemSession(new JCRCallback<Boolean>() {
            public Boolean doInJCR(JCRSessionWrapper session) throws RepositoryException {
                QueryManager q = session.getWorkspace().getQueryManager();
                String sql = "select * from [jnt:ace] as ace where ace.[j:aceType]='GRANT' and ace.[j:principal] = '"+fPrincipal+"' and isdescendantnode(ace, ['"+site.getPath()+"'])";
                QueryResult qr = q.createQuery(sql, Query.JCR_SQL2).execute();
                NodeIterator ni = qr.getNodes();
                Set<String> roles = new HashSet<String>();
                while (ni.hasNext()) {
                    JCRNodeWrapper next = (JCRNodeWrapper) ni.next();
                    if (next.hasProperty("j:roles")) {
                        Value[] vals = next.getProperty("j:roles").getValues();
                        for (Value val : vals) {
                            roles.add(val.getString());
                        }
                    } else {
                        logger.warn("Missing roles property for acl on "+next.getPath());
                    }
                }

                boolean needPrivileged = false;
                for (String role : roles) {
                    JCRNodeWrapper roleNode = session.getNode("/roles/"+role);
                    if (roleNode.hasProperty("j:privilegedAccess") && roleNode.getProperty("j:privilegedAccess").getBoolean()) {
                        needPrivileged = true;
                        break;
                    }
                }

                return needPrivileged;
            }
        });

        JahiaGroupManagerService groupService = ServicesRegistry.getInstance().getJahiaGroupManagerService();
        final JahiaGroup priv = groupService.lookupGroup(site.getID(), JahiaGroupManagerService.SITE_PRIVILEGED_GROUPNAME);
        Principal p = null;
        if (principal.startsWith("u:")) {
            p = userManagerService.lookupUser(principal.substring(2));
        } else if (principal.length() > 2) {
            p = groupService.lookupGroup(site.getID(), principal.substring(2));
        }
        if (p != null) {
            if (needPrivileged && !priv.isMember(p)) {
                logger.info(principal + " need privileged access");
                priv.addMember(p);
View Full Code Here

Examples of org.jahia.services.content.decorator.JCRSiteNode

            }
        }

        JCRSessionWrapper session = JCRSessionFactory.getInstance().getCurrentUserSession();
        try {
            JCRSiteNode siteNode = (JCRSiteNode) session.getNode(SITECONTENT_ROOT_NODE);
            NavigationHelper navigationHelper = (NavigationHelper) SpringContextSingleton.getInstance().getContext().getBean("NavigationHelper");
            List<String> paths = new ArrayList<String>();
            paths.add("/mounts");
            List<GWTJahiaNode> rootNodes = navigationHelper.retrieveRoot(paths, null, null, null, null,
                    null, null, siteNode, session, Locale.ENGLISH);
View Full Code Here

Examples of org.jahia.services.content.decorator.JCRSiteNode

            vfsProvider.stop();
        }
    }

    private void assertRootNavigation(JCRSessionWrapper session) throws RepositoryException, GWTJahiaServiceException {
        JCRSiteNode siteNode = (JCRSiteNode) session.getNode(SITECONTENT_ROOT_NODE);
        NavigationHelper navigationHelper = (NavigationHelper) SpringContextSingleton.getInstance().getContext().getBean("NavigationHelper");
        Locale locale = LanguageCodeConverters.languageCodeToLocale("en");
        List<String> paths = new ArrayList<String>();
        paths.add("/mounts");
        List<GWTJahiaNode> rootNodes = navigationHelper.retrieveRoot(paths, null,null,null,null,
View Full Code Here

Examples of org.jahia.services.content.decorator.JCRSiteNode

        if (node == null) {
            node = (JCRNodeWrapper) context.get("contextParent");
        }
        if (node != null) {
            try {
                JCRSiteNode site = node.getResolveSite();
                String[] activeLanguageCodes = site.getActiveLanguageCodes();
                List<ChoiceListValue> listValues = new ArrayList<ChoiceListValue>();
                for (String activeLanguageCode : activeLanguageCodes) {
                    Locale localeFromCode = LanguageCodeConverters.getLocaleFromCode(activeLanguageCode);
                    listValues.add(new ChoiceListValue(localeFromCode.getDisplayName(locale), null,
                            node.getSession().getValueFactory().createValue(activeLanguageCode)));
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.