Package org.apache.slide.security

Examples of org.apache.slide.security.NodePermission


     */
    public void grantPermission(Uri uri, NodePermission permission)
        throws ServiceAccessException {
        super.grantPermission(uri, permission);
        if (securityStore.cacheResults()) {
            NodePermission tempPermission = permission.cloneObject();
            Object value = permissionsCache.get(uri.toString());
            if (value == null) {
                // populate the cache with the existing entries
                enumeratePermissions(uri);
                // and check if the cache contains a corresponding entry now
View Full Code Here


                permissionsVector = (Vector) value;
            } else {
                permissionsVector = new Vector();
                Enumeration tempEnum = securityStore.enumeratePermissions(uri);
                while (tempEnum.hasMoreElements()) {
                    NodePermission tempPermission =
                        (NodePermission) tempEnum.nextElement();
                    tempPermission.validate(uri.toString());
                    permissionsVector.addElement(tempPermission);
                }
                permissionsCache.put(uri.toString(), permissionsVector);
            }
            return ((Vector) permissionsVector.clone()).elements();
View Full Code Here

               
                while (permissionsList.hasMoreElements()) {
                    writer.print("<tr" + (shade ? " bgcolor=\"eeeeee\""
                                              : " bgcolor=\"dddddd\"") +
                                     ">\r\n");
                    NodePermission currentPermission =
                        (NodePermission) permissionsList.nextElement();
                    writer.print("<td align=\"left\" colspan=\"2\"><tt>");
                    writer.print(currentPermission.getSubjectUri());
                    writer.print("</tt></td>\r\n");
                    writer.print("<td align=\"left\"><tt>");
                    writer.print(currentPermission.getActionUri());
                    writer.print("</tt></td>\r\n");
                    writer.print("<td align=\"right\"><tt>");
                    writer.print(currentPermission.isInheritable());
                    writer.print("</tt></td>\r\n");
                    writer.print("<td align=\"right\"><tt>");
                    writer.print(currentPermission.isNegative());
                    writer.print("</tt></td>\r\n");
                    writer.print("</tr>\r\n");
                }
            }
        }
View Full Code Here

            return permissions;
        } else {
            permissions = new Vector();
            Enumeration permissionsList = super.enumeratePermissions(uri);
            while (permissionsList.hasMoreElements()) {
                NodePermission tempPermission = (NodePermission) permissionsList.nextElement();
                tempPermission.validate(uri.toString());
                permissions.addElement(tempPermission);
            }
            permissionsCache.put(uri.toString(), permissions);
            return permissions;
        }
View Full Code Here

     * @param permission Permission we want to create
     * @exception ServiceAccessException Error accessing the Descriptors Store
     */
    public void grantPermission(Uri uri, NodePermission permission)
        throws ServiceAccessException {
        NodePermission tempPermission = permission.cloneObject();
        tempPermission.validate(uri.toString());
        enlist(securityStore);
        try {
            securityStore.grantPermission(uri, tempPermission);
        } catch (ServiceAccessException e) {
            delist(securityStore, false);
View Full Code Here

        String currentInheritedFrom = "";
        Element currentAceElm = null;
        Element currentGrantDenyElm = null;
        Enumeration permissions = security.enumeratePermissions(sToken, objectNode, true);
        while (permissions.hasMoreElements()) {
            NodePermission perm = (NodePermission)permissions.nextElement();
            if (!perm.getSubjectUri().equals(currentSubjectUri)
                || (perm.isNegative() && !currentNegative || !perm.isNegative() && currentNegative)
        || (!currentInheritedFrom.equals(perm.getInheritedFrom()))) {
               
                // save previous ACE
                if (currentAceElm != null) {
                    xmlValue.add(currentAceElm);
                }
               
                // new ACE
                currentAceElm = new Element(E_ACE, DNSP);
               
                // principal
                if (perm.isInvert()) {
                    Element invertElm = new Element(E_INVERT, DNSP);
                    invertElm.addContent(createPrincipalElement(perm.getSubjectUri()));
                    currentAceElm.addContent(invertElm);
                }
                else {
                    currentAceElm.addContent(createPrincipalElement(perm.getSubjectUri()));
                }
               
                // grant/deny
                currentGrantDenyElm = perm.isNegative()
                    ? new Element(E_DENY, DNSP)
                    : new Element(E_GRANT, DNSP);
                currentAceElm.addContent(currentGrantDenyElm);
               
                // inherited
                String inheritedFrom = perm.getInheritedFrom();
                if (inheritedFrom != null && inheritedFrom.length() > 0) {
                    currentAceElm.addContent(createInheritedElement(inheritedFrom));
                }
               
                // protected
                if (perm.isProtected()) {
                    currentAceElm.addContent(new Element(E_PROTECTED, DNSP));
                }
               
                currentSubjectUri = perm.getSubjectUri();
                currentNegative = perm.isNegative();
                currentInheritedFrom = inheritedFrom != null ? inheritedFrom : "";
            }
            currentGrantDenyElm.addContent(createPrivilegeElement(perm.getActionUri()));
        }
       
        // save last ACE
        if (currentAceElm != null) {
            xmlValue.add(currentAceElm);
View Full Code Here

    public void execute(String resourcePath, Element multistatusElm, int depth) throws SlideException, IOException {
        NodeRevisionDescriptors nrds = content.retrieve(slideToken, resourcePath);
        NodeRevisionDescriptor nrd = content.retrieve(slideToken, nrds);
        Enumeration permissions = security.enumeratePermissions(slideToken, resourcePath, true);
        while (permissions != null && permissions.hasMoreElements()) {
            NodePermission p = (NodePermission)permissions.nextElement();
            SubjectNode principalNode = SubjectNode.getSubjectNode(p.getSubjectUri());
            String principalPath = getPrincipalPath(principalNode, nrd);
            if (principalPath != null) {
                multistatusElm.addContent(getResponseElement(slideToken, principalPath, new NodeRevisionNumber(), requestedProperties));
            }
        }
View Full Code Here

    public Element encodePermissions() {
        Element aPermissions=new Element("permissions");
        if (permissions==null) return aPermissions;
       
        for (int aSize=permissions.size(),i=0;i<aSize;i++) {
            NodePermission aPermission=(NodePermission)permissions.elementAt(i);
            aPermissions.addContent(encodeNodePermission(aPermission));
        }
        return aPermissions;
    }
View Full Code Here

        aElement.setAttribute("type",aProp.getType());
        aElement.setAttribute("protected",booleanToString(aProp.isProtected()));
        Element aPermissions=new Element("permissions");
       
        for (Enumeration aEnum=aProp.enumeratePermissions();aEnum.hasMoreElements();) {
            NodePermission aPermission=(NodePermission)aEnum.nextElement();
            aPermissions.addContent(encodeNodePermission(aPermission));
        }
        aElement.addContent(aPermissions);
        return aElement;
    }
View Full Code Here

               
                while (permissionsList.hasMoreElements()) {
                    writer.print("<tr" + (shade ? " bgcolor=\"eeeeee\""
                                              : " bgcolor=\"dddddd\"") +
                                     ">\r\n");
                    NodePermission currentPermission =
                        (NodePermission) permissionsList.nextElement();
                    writer.print("<td align=\"left\" colspan=\"2\"><tt>");
                    writer.print(currentPermission.getSubjectUri());
                    writer.print("</tt></td>\r\n");
                    writer.print("<td align=\"left\"><tt>");
                    writer.print(currentPermission.getActionUri());
                    writer.print("</tt></td>\r\n");
                    writer.print("<td align=\"right\"><tt>");
                    writer.print(currentPermission.isInheritable());
                    writer.print("</tt></td>\r\n");
                    writer.print("<td align=\"right\"><tt>");
                    writer.print(currentPermission.isNegative());
                    writer.print("</tt></td>\r\n");
                    writer.print("</tr>\r\n");
                }
            }
        }
View Full Code Here

TOP

Related Classes of org.apache.slide.security.NodePermission

Copyright © 2018 www.massapicom. 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.